As much as I understand that language is very much tied to cultural identity and I believe that people should speak the language that they are most comfortable with, as a politician, Justin Trudeau does need to recognize that he has both French-speaking and English-speaking constituents, that at the very least, should be respected.
In the world, today, there are so many ways to handle translation difficulties overcoming the lack of communications between people of the world that do speak their own native tongue.
The United States share borders with Canada, therefore, the distances between the two ways of speaking should have some sort of commonality. To refuse this or completely disregard the native tongue of such a close association should be declared as nothing other than arrogant.
Justin Trudeau refuses to answer English speaking residents' questions in English. He instead spoke exclusively in French, stating "we're in Québec." Imagine if he did this in the United States - the amount of uproar and political correctness pandering would be at all time high decible levels. Guess political correctness isn't an issue up north.
Québec is part of Canada, so of course speaking in French in Québec will not hurt his popularity at home. It is possible that some English-speaking Canadians will be offended, but I think Canadians largely support their president, and him insisting on speaking French (one of Canada's national languages) in an area where most people speak French will not change that.