The English language is an unparalleled gift to humanity, but it does have the occasional lacuna.
The words for immigrant and immigration are one example.
Should immigrants have the same rights as we do? Or course, as long as they are "legal". Should immigrants be allowed to have driver's licenses and jobs? Of course... ditto.
Immigrant becomes a really slippery, bait-and-switch word.
We really need a word which means legal immigrant, and only legal immigrant. Then, we need another word for persons who have not legally immigrated but are merely "here".
Like at your house -- you have "guests", and you have "intruders". What you don't have is "illegal guests" -- it's a contradiction in terms.
I'm going to suggest we use immigrant to mean a legitimate immigrant and illigrant for the illegals. It suggests both illegal and something other than properly integrated.
Now, let's get on with addressing the problem of illigration.