After HW replacement (MAC address change) you need delete old device and add a new one, even it’s same in all entities (same yaml for compiling). Why not use device_name as unique_id? Or some other way to pair device_name to entry_id. Using MAC address is not a good idea.
And for what is in entity_registry device_id and config_entry_id, both pointing to same device in device_registry config_entries and id?