I'm a British born British citizen and an immigrant in my adopted country.
I know a lot of Indian and Japanese ex pats
People love to prove how right on the are by sneering at the term expat, but it does have a meaning distinct from immigrant - an expatriate is one of many subgroups of immigrant.
I'm an immigrant but not an expatriate because my move is permanent, or as permanent as anything in life (who can say, I like to be flexible, but I have joint citizenship now, which I applied for a few years ago). I've adopted my new country as my own.
Temporary immigrant fall into lots of categories: asylum seekers and economic migrants being the biggest divide.
Obviously expatriate literally simply means someone living in a country they are not a citizen of. However like a lot of words it has a more specific meaning in common usage.
Expatriates are a subgroup of economic migrant who do highly paid, highly qualified work for which they as individuals are recruited die to their skill sets and their employers belief they couldn't recruit anyone more local for the specific role.
Expats can be arrogant xenophobic arseholes - I've met a few - or lovely people with a sense of adventure, or anything in between, but it's a more meaningful term than those after woke points for sneering at it notice. Countries which turn out a surplus of graduates turn out expatriate workers, in general.
Obviously a lot of people label themselves expats when they are nothing of the sort, because they think it sounds better than immigrant. People who retired to Spain because it was cheaper are a category of economic migrant, not ex pats except in the dictionary definition sense which makes anyone living outside their country of origin (from an asylum seeker or displaced person to a manual labourer or household helper to the head of a multinational company and making no distinction), is an expatriate.