Since the ELF interpreter and glibc initialize differently depending on cpu flags, it's probably unlikely that migrating between arbitrary hosts can be expected to always work.
(But in practice, we mostly rely on the fact that if you are in Google Cloud and specify a minimum CPU version, Google masks CPUID in that VM to exactly match that CPU, even if the underlying hardware is newer. They do this so live-migration of the whole VM works, but it also helps for process migration. I'm not sure where this is specifically documented but see e.g. https://stackoverflow.com/a/44507857 .)
Probably that's why hyperv have a option to force any guest only able to access to a common cpu instrument set. So they will always have the same flag and migration is possible.