Based on my 15 years of experience (similar for my partner), there are a lot of cash flow positive companies in the US who pay a lot. They don't need venture capital at all. So there must be some other reason (profitability? SV culture of valuing engineers?)
When I was at Google, I learned from an internal pay comparison spreadsheet that a person in the same job at the same level is paid much worse in Waterloo (and in the UK as well) compared to SV / NYC, and the reason cited was "cost of labor" or some such fancy term which essentially meant "we want to pay as little as possible, so a little bit more than our competitors". So ultimately, it boils down to "prevailing wages" in Canada (and the UK).
The first company to offer SV level wages in Canada / UK will see a deluge of high quality applicants who want to stay in those locations for whatever reasons. I wonder why no one has tried that yet.