So what's the difference?
NHL isn't a Canadian League
CFL is rife with Americans that can't play in the NFL (which makes it more mainstream btw since you bring up "top leagues")
MLS should be on its way to ratings much like the CFL compared to the EPL since Canadians playing in it would out sell watching foreigners (like in the NFL) do it better.