Migrant suggest some sort of ongoing movement. "Migrant labour" is people who move back and forth chasing work, often inside a single country. An expatriate is someone living in a semi-permanent state outside their home country.
I'd describe someone moving from one part of the US to another on a seasonal basis, someone chasing farm work, as a migrant. I'd call a canadian working for a period of year at a US firm an expatriate. The former is under a continual state of movement that the later is not.
I'd describe someone moving from one part of the US to another on a seasonal basis, someone chasing farm work, as a migrant. I'd call a canadian working for a period of year at a US firm an expatriate. The former is under a continual state of movement that the later is not.