You might dislike how rich British bankers in Hong Kong are called expats, while poor Eritrean refugees in Britain are called immigrants. But technically, those usages are accurate.
Still, expatriate often carries the connotation of a higher-status person living in a lower- or similar-status country—like a British banker in Hong Kong. It doesn’t quite fit when someone of middle status moves laterally—say, an American recent graduate relocating to Europe. Migrant is denotatively correct, but the connotation doesn't quite match because in practice it used for low status or irregular immigrants.
In many such cases, it may be best to avoid using any of these terms at all. Temporary residence might be the term we’re looking for and it likely reflects the legal status as well.
That is this entire thread, including the OP, with whom you seem to agree. Why have you not complained to tkiolp4 that they are just quibbling over technicalities? To be frank, I rather suspect it's because "quibbling over technicalities" is something that does not concern you, except as it can be a convenient excuse to dismiss an argument you don't want to engage with intellectually.