Publish to emqx server, can only accept 20 or so

when publishing messages for iot devices to pick up the next time they connect i am only able to publish 20 messages (one message per device, 20 devices, that are kept and waiting for the device to reconnect) then the rest of the messages get dropped. the iot device is using mqtt v3.1.1.

i am submitting the messages using paho, here is an example of my code (no errors and i get a return code of 0):
pubMess = hbclient.publish("/deviceid/ota", "{"otaUrl":"supportsite", qos=2"}")

when i run the code where i publish to emqx it’s around 47 messages that i publish (one for each 47 devices), then you can watch the emqx server /# and only see 20 get accepted. what is so strange is that no matter what order i submit the messages, it always ends up with 20 messages being kept. ??? these do not have the retain flag set, but i did a run with retain=true and the same behavior existed (i just had to go manually delete the retained message). I’m sure it’s a setting but i have no idea. i have tried to put a wait in-between the publish messages from .2 → 2 seconds. same thing. 20 messages show up and then that’s it.

so here is the odd thing. when i enter the mqttx terminal and submit the messages one at a time i can submit > 20 of them and they all show up at /#.

emqx version: 5.3.1-alpha.1
Current mods to the emqx.conf

mqtt {
max_inflight = 256
max_mqueue_len = 100000
session_expiry_interval = 24h
}

session {
max_inflight = 256
max_mqueue_len = 100000
session_expiry_interval = 24h
}

i am trying to get a good understanding of the inflight queue. maybe they exist but i do not see how to find them?