This may be tangential to your question, but I’ll pass it along anyway. The impression I get from section 7 of the Criminal Code of Canada is that Canada regards any aircraft registered in Canada and in flight as subject to Canadian criminal laws. So in your scenario, any criminal offenses committed aboard an Air Canada flight from Halifax to Boston, even if committed while in flight over US territory, would be subject to Canadian law. Once that aircraft touched down in Boston, however, it is subject to local law.
Now, there is one large problem with this principle and your scenario: neither underage drinking nor serving a minor is a criminal act in any province of Canada. It is a provincial offense, yes; but it is not a criminal offense under the Criminal Code.
Still, if the principles of the Code as to the jurisdiction inside the flying aircraft hold, then we can move towards answering your question: if the 20-year-old, who is not a minor under federal or provincial law, was flying on a Canadian-registered aircraft from Halifax to Boston, he could have a drink in flight. If he was flying that same Canadian-registered aircraft from Boston to Halifax, he could have a drink in flight. In short, the jurisdiction over which the aircraft is flying doesn’t seem to matter; what matters is the national registration of the aircraft and whether it is in flight.
This is a somewhat-educated WAG and I have no idea what would occur if the aircraft in question was registered in the US, but I hope it helps answer part of your question.