expat and long-term residents
It is quite simple, though the two terms are often used interchangeably, and thus are easily confused. An expatriate, by definition is a highly-skilled professional who moves to another country for work purposes. Often with their family. So they do register (or at least should) in this country, and in this sense they are immigrants to this foreign country. Mostly this stay is limited to the duration of the contract (r.g. 2-3 years). Expat and immigrant is rather looking at different angle at the same thing. And, of course not all immigrants are expatriates.