While I do have a grievance with a much lower pay ceiling across Canada, those numbers are ridiculously low even if in US dollars as I assume they are. I don't put much stock in the StackOverflow survey.
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.