Random bit changes from UBlox over I2C

I’m using the NEO-M8U GPS receiver with the UBlox library over I²C with Qwiic and RaspberryPi.

Something I have noticed is a significant number (maybe 1-2%) of the characters coming in to SFE_UBLOX_GPS::processNMEA have erroneous bits. In most cases, it is the most significant bit of the byte (128, not even valid ASCII) that is wrong (so that is easy to fix), but I have seen at least a few instances of other bits being changed.

Any ideas how to debug this issue?