Mosquitto stopped accepting connections from a client

I have been playing around for a few days with using a raspberry pico2_w as sensor and sending data to my home assistant OS instance via MQTT. I had the setup working for sending test data fine, but when I went to update a few things to collect and transfer real sensor data the Mosquitto data broker stopped accepting the connection. I have been debugging and it is the initial connection that fails, and the script never even gets to try to transfer. I added a user to home assistant with a password that I am using for authentication (and leaving the MQTT entity config as default per the documentation for login).

Here is my connect_mqtt() function I am using that is failing to connect (using the umqtt.simple library)

def connect_mqtt():
    print("Connecting to MQTT...")
    client = MQTTClient(CLIENT_ID, MQTT_BROKER, port=1883, user=MQTT_USER, password=MQTT_PASSWORD, keepalive=60)
    client.connect()
    print("Connected to MQTT Broker")
    return client

When I run I get this output from the pico:

Connecting to Wi-Fi...
Connected to Wi-Fi: ('192.168.86.11', '255.255.255.0', '192.168.86.1', '192.168.86.1')
Connecting to MQTT...
Traceback (most recent call last):
  File "<stdin>", line 48, in <module>
  File "<stdin>", line 36, in connect_mqtt
  File "umqtt/simple.py", line 39, in connect
OSError: [Errno 104] ECONNRESET

And in the Mosquitto add-on log I see the following logged data:

2025-03-09 11:52:41: New connection from 192.168.86.11:50167 on port 1883.
2025-03-09 11:52:41: Client <unknown> disconnected due to protocol error.

From another computer on the network I can run:

mosquitto_pub -h broker_PI -t MQTT_TOPIC -m '{"counter": 52}' -u MQTT_USER -P MQTT_PASSWORD

And it appears to run, connect and update data in HA correctly, log output from that command:

2025-03-09 12:04:00: New connection from 192.168.86.9:64326 on port 1883.
time="2025-03-09T12:04:00-04:00" level=debug msg="checking auth cache for pico2"
2025-03-09 12:04:00: New client connected from 192.168.86.9:64326 as auto-83583384-CA43-F13E-C2C9-37DDFBA6A8C1 (p2, c1, k60, u'pico2').
time="2025-03-09T12:04:00-04:00" level=debug msg="to auth record: [97 117 116 104 45 112 105 99 111 50 45 115 101 110 115 111 114 115 95 102 114 111 109 95 112 105 99 111 50 218 57 163 238 94 107 75 13 50 85 191 239 149 96 24 144 175 216 7 9]\n"
2025-03-09 12:04:00: No will message specified.
time="2025-03-09T12:04:00-04:00" level=debug msg="found in cache: pico2"
2025-03-09 12:04:00: Sending CONNACK to auto-83583384-CA43-F13E-C2C9-37DDFBA6A8C1 (0, 0)
time="2025-03-09T12:04:00-04:00" level=debug msg="checking acl cache for pico2"
time="2025-03-09T12:04:00-04:00" level=debug msg="to auth record: [97 99 108 45 112 105 99 111 50 45 114 97 110 100 111 109 47 112 105 99 111 47 99 111 117 110 116 101 114 45 97 117 116 111 45 56 51 53 56 51 51 56 52 45 67 65 52 51 45 70 49 51 69 45 67 50 67 57 45 51 55 68 68 70 66 65 54 65 56 67 49 45 50 218 57 163 238 94 107 75 13 50 85 191 239 149 96 24 144 175 216 7 9]\n"
time="2025-03-09T12:04:00-04:00" level=debug msg="Superuser check with backend HTTP"
time="2025-03-09T12:04:00-04:00" level=debug msg="http request approved for pico2"
time="2025-03-09T12:04:00-04:00" level=debug msg="superuser pico2 acl authenticated with backend HTTP"
time="2025-03-09T12:04:00-04:00" level=debug msg="setting acl cache (granted = true) for pico2"
time="2025-03-09T12:04:00-04:00" level=debug msg="to auth record: [97 99 108 45 112 105 99 111 50 45 114 97 110 100 111 109 47 112 105 99 111 47 99 111 117 110 116 101 114 45 97 117 116 111 45 56 51 53 56 51 51 56 52 45 67 65 52 51 45 70 49 51 69 45 67 50 67 57 45 51 55 68 68 70 66 65 54 65 56 67 49 45 50 218 57 163 238 94 107 75 13 50 85 191 239 149 96 24 144 175 216 7 9]\n"
time="2025-03-09T12:04:00-04:00" level=debug msg="Acl is true for user pico2"
time="2025-03-09T12:04:00-04:00" level=debug msg="checking acl cache for homeassistant"
time="2025-03-09T12:04:00-04:00" level=debug msg="to auth record: [97 99 108 45 104 111 109 101 97 115 115 105 115 116 97 110 116 45 114 97 110 100 111 109 47 112 105 99 111 47 99 111 117 110 116 101 114 45 97 117 116 111 45 49 53 69 49 54 57 51 56 45 68 66 55 66 45 54 69 51 67 45 53 50 57 55 45 49 67 50 51 53 69 57 56 57 70 50 65 45 49 218 57 163 238 94 107 75 13 50 85 191 239 149 96 24 144 175 216 7 9]\n"
time="2025-03-09T12:04:00-04:00" level=debug msg="found in cache: homeassistant"
2025-03-09 12:04:00: Received PUBLISH from auto-83583384-CA43-F13E-C2C9-37DDFBA6A8C1 (d0, q0, r0, m0, 'random/pico/counter', ... (15 bytes))
2025-03-09 12:04:00: Sending PUBLISH to auto-15E16938-DB7B-6E3C-5297-1C235E989F2A (d0, q0, r0, m0, 'random/pico/counter', ... (15 bytes))
2025-03-09 12:04:00: Received DISCONNECT from auto-83583384-CA43-F13E-C2C9-37DDFBA6A8C1
2025-03-09 12:04:00: Client auto-83583384-CA43-F13E-C2C9-37DDFBA6A8C1 disconnected.
2025-03-09 12:04:07: Received PINGREQ from auto-15E16938-DB7B-6E3C-5297-1C235E989F2A
2025-03-09 12:04:07: Sending PINGRESP to auto-15E16938-DB7B-6E3C-5297-1C235E989F2A

I have uninstalled the Mosquitto Broker Add-on and service (deleting data as well) multiple times. I have wiped and redone the .yaml file, I have tried changing client ID in my script and config and I am still getting the same errors and I am unsure what to do next. Appreciate any advice, I am thinking it might be a bug within the umqtt library at this point.