Celtic is a family of languages that includes Breton. I assume you mean Scottish Gaelic, which was at least spoken in large numbers in Cape Breton in the past, and still holds on today.
When I was growing up (I'm 32) what we called 'Chinese' was Cantonese, and Mandarin was pretty rare – not sure if it's because of the Brits in Hong Kong, but the Mandarin speakers only started outnumbering the Cantonese-speakers among new migrants pretty recently.
It's because Cantonese is the primary language spoken in Hong Kong, and a vast portion of Canada's Chinese population is composed of immigrants from Hong Kong (especially in the 80s/90s when many were fleeing Hong Kong becoming part of Communist China)
Unfortunately, wiping out Indigenous languages was a central objective of Residential Schools (and Mission schools in the USA). http://indigenousfoundations.arts.ubc.ca/the_residential_school_system/
I find it odd that Punjabi is the least commonly guessed one considering how common it has become. (Third most spoken first language in the parliament)
I'm more surprised by the fact that it beat Hindi and Urdu. I'm not very familiar with foreign languages spoken in Canada, so I wouldn't have guessed that.
It all depends on the region! Many immigrants from India to Canada are Sikhs from Punjab, so that's why they're disproportionately represented in the Indian-Canadian community compared to their demographics in India. Same goes for Cantonese (tiny minority language in China, but a ton of immigrants to Canada are from Hong Kong, thus Cantonese predominance).
There are tons of Japanese living on the west coast of North America and Hawaii. Quite a lot in Brazil, too. Most are not recent immigrants, but rather the descendants of immigrants, so maybe they no longer speak Japanese.