In my opinion, the reasons for this trend are varied. However, at the core is the Economic law of demand and supply to fill an existing 'need'. Need of material development for a nation (met by Hindu population) and need of spiritual development for it's people (met by Hindu religion).
1. For furthering the material development of any country (which includes America & Canada), there is a need for intelligence and talent. For a rapidly advancing nation, 'local demand' is greater than the 'local supply'. Thus, in the scarcity of such intelligence and talent at a local level; a 'need' for that country and an 'opportunity' for rest-of-the-world arises. For Canada, I understand that their country's population is in the high age bracket. Because of which also, they are inviting younger population from the world over. On meritorious grounds, as Hindus are a race of typically intelligent, hard-working and dedicated people; Hindus have been given preference in both America and Canada to fill this 'need'.
With the population, comes their culture, practices, religion....so a rapid rise in the number of Hindu Temples, Yoga studios, vegetarianism etc. as noticed and pointed out by you.
I understand, as the Hindus were taking the better paid jobs, this even led to the rise of a hate group in New Jersey - 'Dotbusters' in the late 80s.
2. Many locals, the world over, including America & Canada, are changing their faith to Hinduism. So, again it means more Hindu Temples, Yoga studios, vegetarianism, Ayurveda and so on.
This is my take on the matter.