After further reading, the randomisation schedule is sometimes defined by the "manufacturer" i.e. whoever supplies the firmware of the bluetooth module. I also believe it can be controlled by the OS of the host device (in this case the Android build used in the car). It's possible that this schedule is also randomised so sometimes it could be days, others it could be minutes or hours
It also appears that the randomisation happens when the bluetooth transmitter is restarted. This could be scheduled in software too but can also be after a hardware restart. I'd suggest MG are not the first to have issues like this but for things like phones, where you rarely restart, it might not be as noticeable. However given that the infotainment system in the MG4 shuts down and restarts very regularly, it is much more noticeable
I'm not a dev nor an engineer but based on what I've read, a poorly implemented bluetooth mac randomisation schedule makes the most sense to me. Good news is that it seems it can be fixed in software
Something else interesting I've just seen. If you go into the secret menu and go to the bluetooth/wlan section, device name is NA despite my phone being connected.
The equivalent section in WLAN shows my wifi network name.
Wonder if it is related? Perhaps the device is not remembering the devices it is paired to. Your phone remembers and it is it that re-establishes the connection. Then when the mac address changes, your phone can no longer make the connection as the pairing code associated with the mac address is different and the car has no memory of the phone so sees it as a new device?