Of course, they are immigrants! The dictionary definition states: Someone who moves to another country to live permanently.
These people I know, live in France permanently. They pay tax here and work. They are immigrants, but they don't consider themselves immigrants, as though that's a bad thing. They prefer to call themselves expats so as not to lumber themselves into the same bracket as people coming from countries less desirable than their own.
Of course, they can call themselves expats if they want to, if it helps with their insecurities. They can call themselves foreign nationals if they are feeling particularly grand. But the fact remains, they are immigrants. Just like I am. (And you.)
Your point about having a visa to live somewhere does not make one an immigrant, is wrong. I have a Moroccan friend who has a five-year visa to live in France. He's an immigrant. Admits it himself, just like me, we're not ashamed of it.
This expat word is an old colonial, imperial word. It has no use any longer.
In two years, I'll apply for my French citizenship. I'll be technically French. But I'll still be an immigrant. I'm fine with that.
Thanks for reading though. It's an interesting topic for discussion.