Yes you are absolutely right. The connected car project which I worked for had ECUs outsourced. The car manufacturer said "hey we are a car company". You deal with the technicalities of ECUs giving you proper data.
The ECUs were giving me frames with bits turned on at the wrong places. We used to call the telematics hardware/software provider which gives us an abstracted API to talk to ECUs quoting the problem. Their reply was "thats the ECUs messing up, we will "fix it" by giving you the bit turned on at the correct position or you change your code, because changing the API needs an OTA and OTA is not supported for that car manufacturer.