That is not how it was taught to me. Expat is when your job moves you to a new country, as in "you're an expatriate employee". Immigrant is when you move for your own reasons. Expats are expected to come back to their original country, or move to a third one at some time. Immigrants are establishing themselves in the new country.
Expats usually don’t have immigrant visas. They also receive packages from their companies for their temporary assignments. If you go to the country on your own to fund a job, you usually won’t be referred to as an expat by those with packages who refer to themselves as expats. But you won’t be referred to as a migrant worker either unless you are poor and doing construction or farm work. We used the term half-pats to describe ourselves, but mostly it was just foreigners.
The USA is exceptional because almost every visa that allows for work is considered an immigration visa (eg H1 leads to a greencard, eventually). But in other countries that is most definitely not true.
H1 does not lead to a green card. Infact H1 approval receipt will show Temporary Non Immigrant Worker visa. You have to apply to get a green card, entirely separate.
No, backpackers in SE Asia are still mostly on the expat side. Even if they are broken students on a sabbatical year, they mostly have families home that can back them up in case of need. (Exceptions apply, YMMV etc etc.)