> In common usage, [expatriate] is often used in the context of professionals or skilled workers sent abroad by their companies.
A Guardian writer disagrees, saying "expat" means "white immigrant":
http://www.theguardian.com/global-development-professionals-...
Personally, I think "expat" is used more in the sense of an (usually white) immigrant from a richer country to a poorer country. EG, an Indian recruited to work at Google in San Francisco would be an expat by your definition but I think most people would use the term "immigrant." Conversely, I'd expect the term "expat" to be used for an American white guy who was travelling the world after getting laid off, impulsively decided to stay in Bangkok, and now does freelance web design, lives in a nice neighborhood, and hangs out mostly with Americans and Europeans.
I am not saying I think this is how the term should be used, just describing my experience with it.
Also, one deeper, to my ear, 'expat' has a flavour of intending to return, where immigration generally sounds more one-way and permanent - which of course again parallels the 'rich' narrative: it's much easier to intend to return to your rich country of origin than it is to return to a poor one.
People who "emigrate" from the UK primarily seem to go to Australia, by that I mean that's how the word is used. A high-school friend went to "work in the States" rather than "emigrating to America", for example.
Migrant (emigrant/immigrant) seems to be used primarily for those under some duress of compulsion, eg threat of violence or need of work that is otherwise unavailable.
Kinda along similar lines: expats vs. immigrants.
"Oh no, Paul and Iza are expats. Not at all like those job-stealing immigrants who moved in next door..."
(aside: does wrong fit your original question?)