There's a confusion in this forum of local vs official language. Italians and immigrants to Italy moving to South Tyrol are not required to learn German. Their kids do in school as a secondary subject, but that's regulated by government. Spaniards and immigrants to Spain moving to Catalonia don't need to learn Catalan. English speaking Canadians and immigrants to Canada, even those from Hong Kong, moving to Montreal don't need to learn French. In all cases it's one of the official languages that is required to be spoken for official reasons, which in Hong Kong's case is either English or Cantonese. If the Cantonese locals want the English minorities kids to learn Cantonese then they can regulate education and require International/ESF schools to teach Cantonese as a secondary subject. Most expat parents would be happy about that and support this arrangement. However, that is not happening.
I know as a fact that immigrants to Canada get free language lessons. It's the government that takes the first step in integrating these people. If there's disagreement between the majority and the minority group it's the governments responsibility to bridge the divide. Schools in Canada offer special ESL classes to children of newcomers where highly qualified teachers help the students with their homework one-on-one and explain any concepts that the student does not understand. Canada does well with integration. I wonder why?