This article doesn't mention one of the major reasons for talent leaving Canada: if you work there, you need to stomach a 50% pay cut in average salaries vs the US. This is true pretty much across the board regardless of tech niche on the 2017 Stack Overflow Developer Survey[1]: Machine learning specialist: US 108k, Canada 53k (49%) Embedded applications/devices developer: US 100k, Canada 53k (53%) Systems administra…
Also, I'm assuming those numbers are converted to USD. Even if they look lower, you have to consider what kind of lifestyle the salary buys you where you are earning it.
In my experience, the real reason people leave isn't so much salary, as lack of opportunities.