For me, an expat is somebody who temporarily works abroad for, say, 2 or 3 years, with company housing allowance, expat COLA allowance etc. In the US, this is often reflected by their L1 visa.
An immigrant is somebody who moves to a different country and works for a local company (which might be the same one as the one they worked for in their home country) with a local salary and benefits.
Expats often transition into immigrants.
Being a citizen is not a part of the equation. I've been an immigrant for decades, but I'm not a US citizen.
An immigrant is somebody who moves to a different country and works for a local company (which might be the same one as the one they worked for in their home country) with a local salary and benefits.
Expats often transition into immigrants.
Being a citizen is not a part of the equation. I've been an immigrant for decades, but I'm not a US citizen.