How to Find Maximum Packet Size

I’m trying to find out the maximum amount of data I can fit into one transmission from node to gateway. A weird thing has been happening where the maximum amount of data I can fit into the packet changes. One day I can’t fit more than 25 bytes, and the next I’m able to send 50 bytes.

Anyone have any ideas how I can figure out how much data can fit in a packet without it changing?

I found the documentation for what the maximum packet size should be, but my experiments have not lined up with it:

Using RN2903 with sf7, pwr14, and data rates between 0 and 3.

see also https://www.thethingsnetwork.org/docs/devices/bytes.html#how-many-bytes-can-i-send

and

https://www.thethingsnetwork.org/forum/t/limitations-data-rate-packet-size-30-seconds-uplink-and-10-messages-downlink-per-day-fair-access-policy/1300

table