And I'm not trying to be argumentative, but your take on TN visas is extremely simplified. For instance software developers aren't actually allowed to have a TN visa, and instead you have to say that you're a "system analyst". Only they've actually started strictly demanding proof that you're an analyst and not a programmer, etc. Add that any single border crossing can lead to a revocation of your TN visa.
No thanks.
EDIT: Before more people reply with general comments, I am specifically talking about the salary claims for "ML Specialist" and embedded developers. Those numbers -- and I happen to have a good amount of reason to know this -- are ludicrously low. But yes, if you're a web developer, a generalist, etc, pay will be terrible in much of Canada, just as it's terrible in much of the US.