I think practicality is governing each company’s choice; there’s no way GM is capable of pushing an OTA update to change all those cars’ firmware. If they could push an update over cellular, I would bet you GM would do it in a heartbeat.
They could easily achieve the same 90% == 100% charging result with “myChevrolet” (onstar).
Car sends status update that charge has hit >=90%: stop charge command issued server side. Last I checked, the car sends a vehicle status update every percentage tick on charging so this wouldn’t be perfect but it’d be better than nothing.
Both GM and Ford have OTA updates on their modern cars. They just don't do it very often. The upside of Tesla pushing an update every week is they're good at it.