@ankedesign in short, yes, that's the problem. The words migrant or foreign worker express the same meaning, but somehow the word 'expat' has been adopted by/assigned to migrants with high income.
Sadly, migration is being criminalised nowadays. I think it's important to choose 'migrant' over 'expat' every now and then so people can understand that being a migrant isn't inherently bad, but just an administrative category.