You've got some flawed logic in your second point. While labor laws say that you must treat workers the same that has no impact on immigration law. If a skilled worker on a visa loses or leaves their job they need to leave the country unless they start a new job in a short time frame. This is a huge burden that citizens and permanent residents do not have.