I'll state this again.
Throughout much of its history, Canada was in effect a British colony. In the 19th and early 20th centuries, people fleeing Europe for whatever reason went to the United States or Latin America precicely because these places were not part of European empires. They wanted no part of european struggles, revolutions, repressions, and prejudices. They wanted (or were forced) out.
Had Canada also left the British Empire in the 1700's and somehow remained separate from the USA, it would have seen far more immigration from southern and eastern europe that it did historically (presuminng Canadian authorities desired this). Canada does have severe winters, but then so does Russia. There is no reason to believe Canada could not have developed as Russia did, with a dense population in the benign eastern provinces and Pacific, a massive breadbasket in the prairie provinces, and a huge "siberia" in the north. In fact, a more densly populated, independent, and expansionistic Canada in the early 1800's might have pre-empted some US expansion in the plains and pacific.
Your analysis is flawed, because between 1850-1914 Canada, Australia, New Zealand, and South Africa (all British Colonies and dominions) took in more immigrants (9 million). That is more than Latin America, which were no longer part of European empires.
If we look at the earlier period of 1821-1850 the USA received 2,380,000 immigrants whereas the Canada took in 740,000, considering Canada's population was only 741,000 according to the 1821 census, it took in a far greater number of immigrants in proportion to its size (100%). The United States already had 9,638,400 people in 1820, so it took in 25% more people during the subsequent 30 years. The immigration to Latin America during this period numbered less than 200,000.
The vast majority of emigrants moved for one reason and one reason only, economic opportunity. This is what is often referred to as a "pull factor" meaning the pull a country has in drawing immigrants in. Another thing to remember is the "push factor" that pushes people outwards from a region. Finally, there is the importance of chain migration, meaning that people will most likely move to a region or city where they have kith or kin already established.
Another thing to consider is what makes certain groups prefer one destination over another. For instance, Northern Italians were far more likely to settle in France, Switzerland, Belgium, Brazil and Argentina in the pre-war period than in the United States. In Argentina around half of all Italians hailed from Northern Italy, the number being larger for Brazil, in the US that number was only 15%. A study found that they were often more likely to be literate and skilled, therefore they would chose regions with similar languages. Spaniards and Portuguese emigrants too overwhelmingly preferred Latin America due to the shared language (the same as British emigrants chose English speaking countries).
Some groups chose certain countries or regions for particular reasons. Ruthenians chose Canada in larger numbers than the US, settling in larger numbers in the the Canadian Prairies (especially Saskatchewan). These were Ukrainians from Eastern Galicia in what was then Austria. They were pulled to Canada by the government assisted immigration in the first decade of the 20th century. Andalusians from Spain overwhelmingly went to Algeria, due to the proximity.
I will concede that one group emigrated largely for political reasons, the Jews. Jews especially from Eastern Europe emigrated to escape political persecution, overwhelmingly choosing the US. However, this is most likely due to an established Jewish community having already existed in New York for decades. New York City had 1.4 million Jews by 1914, and therefore had a pull that was incomparable to any other city in the world. Even in the US only Chicago, Philadelphia and Cleveland had between 100-200,000 Jews by 1914, all other communities being much smaller in size. So to a prospective Jewish migrant New York City was by far the most attractive destination.
However, Jews were also attracted to other countries (though in smaller numbers). Great Britain's Jewish population surged from 65,000 in 1880 to 300,000 by 1914, due to Eastern European immigration. Germany too had 90,000 foreign born Jews (mostly from Russia) by 1914. Argentina took in some 82,000 between 1899-1914, Canada 76,000, Palestine 33,000, and South Africa 20,000. However, when comparing the number of Jews settling in these other regions I would compare the pull of London, Montreal or Berlin to that of say Cleveland.
Back to Canada though, by 1911, 22% of Canada's population had been born abroad (up from 13% in 1901), by 1921 that number was 23%. Of those 374,022 had been born in the United States. Alberta especially was dominated by immigrants not born in Canada, mostly Americans. In 1911 67% of the Province's population had been born outside of Canada, with the largest single number being from the United States.
For the US 18% were born abroad in 1900 and 1910, with a decline to 17% in 1920. This indicates that Canada had more immigrants in proportion to its existing population by 1910. However, it also shows that Canada's immigration boom was later than that of the US (20% of the US population had been born abroad between 1870 and 1890). This could be explained by the fact that the Prairies were only opened to settlement in the early 20th century, whereas the Plains states were largely settled by 1900.
However, the US was always going to receive a larger number of immigrants than Canada simply because of the larger number of cities. Most immigrants settled in urban areas, not on farms. In 1911 only 4 cities in Canada had more than 100,000 inhabitants, in comparison the United States had 44 cities with more than 100,000 people by 1910. These were the types of places that attracted the bulk of immigrants. Larger cities provided more economic opportunities, so more of them will always equal more jobs.
Below is a comparison of immigration numbers in 1913. That was generally a peak year for receiving countries.
Immigration in the year 1913
USA 1,427,227 entries with 611,924 departures (net gain of 815,303)
Canada 400,870 entries
Argentina 302,047 entries with 181,056 departures (net gain of 120,991)
Brazil 192,684 entries
Australia 140,251 entries
New Zealand 44,588 entries
I could not find the number of departures for a few of the countries so let us look at the number of immigrants entering a country in proportion to the existing population.
Canada 5%
Argentina 4%
New Zealand 4%
Australia 2.9%
United States 1.5%
Brazil 0.8%
Clearly Canada was taking in a larger number of immigrants in proportion to its population compared to the other large receiving countries. In the US the peak year of immigrants in proportion to population was 1854, but Canada's 1913 total was still larger.