i would suggest to keep the existing version without any changes and publish new version with the correct name by changing the entity exposed name (provider-side), as a versioned service Instead of renaming the entity inside the same service and breaking all consumers.
Provider app
Keep existing service as v1 (unchanged) so current consumers keep working.
Create a new v2 published OData (new base path/location) and publish the same entity with:
Entity exposed name: Countries (or CountryEntity whatever)
Key attribute exposed name stays: Country
Publish v2 to Data Hub.
This aligns with the exposed-name rule and avoids breaking existing consumers immediately (because v1 still exists).
Consumer migration without “2 deployments”
You still need to import v2 and map, but you can avoid the painful “break associations” move by doing a bridge approach:
Consumer app
Import v2 external entity alongside the old one.
Create a small persistable “bridge” entity like CountryRef(key) and associate your internal entities to CountryRef (not directly to the external entity).
Populate CountryRef keys from the old external entity once.
Switch the lookup/use to v2 external entity using the shared key.
This is basically the same idea as your 2-deploy plan, but you can often do it in one release window because you’re not deleting the old entity immediately - just running both until cutover.