How do you send a UDP packet to a remote host using the DGRAM module?

I’ve been trying to send a UDP packet to a remote host using the dgram module – by translating a Python socket implementation (which is here into Node.js, but every time I try and run the module, it doesn’t return any results?

Python:

class SRB2Query:
    data = bytearray()

    def __init__(self, url="localhost", port=5029):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socket.connect((url, port))

    def send(self, request):
        self.socket.sendall(request.pack())

Node.JS (my attempt)

const dgram = require('node:dgram');
const { Buffer } = require('node:buffer');

const PORT = 5029
const HOST_IP = '173.255.230.121'
const data = Buffer.from(`x8bE#x01x00x00x0cx00x00x00x00x00x00`)

const client = dgram.createSocket('udp4');

client.bind({"port": PORT})

client.on("connect", () => console.log("Connected"))
client.on("message", (msg, rinfo) => console.log(rinfo))

client.connect(PORT, HOST_IP, () => {
  client.send(data, (err) => {
    if (err) {
      client.close()
      throw err;
    }
  })
})

When I run the above code, the socket triggers the 'connect' event but the 'message' event never gets triggered. The remote host I’m trying to connect too isn’t down either.

I’m confident it isn’t a firewall issue either because the original Python script runs just fine and the socket always returns a result.
I’ve tried looking for other solutions but none of them try to .connect the socket like I do and only send the data.

I’m at my wits end, so I’m not sure if I’m missing something really really obvious or there’s more to be done than what I’ve done.