(editing as my Internet connection dropped while I was replying)
Not sure I understand here... By application you mean Espruino? So you do get the correct number of callbacks, just not with the right data in them?
Is it just packets 2/3/4 that appear to be wrong, or are all the rest of them wrong?
I have the structure of the data I should be receiving. Some fields are fixed while some are dynamically filled with data. The first couple of packets allow me to interpret the rest of the data. Packet 2 received by the application appears correct but it should have been received as packet 3 - the original packet 2 is missing. And packet 3 received by the application should not be a repeat of the previous packet. I haven't checked the following packets.
Do you know exactly what data you should be receiving or if there are certain bytes that definitely don't change in each packet? It might be we can see if the packets are getting combined somehow.
See above. I don't see any indication that packets are being combined. Packet 2 appears to be fully correct, it's just that it should have been received as packet 3.
If you have an NRF DK then you should be able to put it into a wireshark mode where you can see what data is being sent over the air.
I'm afraid I don't (yet).
Do you have any thoughts about how I might be able to reproduce it here?
Seems like the only way would be to send you one of these sensors, but I need to check with the vendor first.