Siehe obigen Link zu advamation.de. Ist der Takt für einen I2C-Slave zu schnell (er kann die Daten nicht rechtzeitig liefern) kann er diesen auf Low ziehen, das nennt man Clock stretching. Bei dem Raspberry Pi < 4 gibt es halt einen Bug, der Rpi erkennt das nicht und liest entsprechend falsche Daten. Das Problem konnte ich noch bei 100kHz nachstellen, bei 10kHz nicht.