Tricky one as it's a question of international law - which jurisdiction applies? Of course they will be arrested wherever the plane lands - that's not a problem. But being charged, what with, and under whose law (so they might have to be deported to face the proper court), will have to be sorted out later.
Normally it's the law of the airline's country. Certainly if you want to ask for alcoholic drinks on a transatlantic flight and you're aged between 18 and 21, fly British Airways. American airlines will say no because they aren't allowed to supply it to under 21s.
There are some international treaties and conventions on this, such as the Warsaw Convention which, amongst other things, governs how much compensation the airline has to pay you if it loses your baggage on an international flight. (Which didn't used to be much, so buy travel insurance!) But not for criminal law so this may have to be argued.
There is the concept of freedoms in aviation law and you need to think about that if the flight is from Country A to Country B and an offence is committed while it's flying over Country C. And what if the plane is from Country D? Tricky, innit… traditionally Country C has an interest as the offence is committed in its airspace. But what if the offence was committed with a knife or gun that was illegal to bring on board in Country A? They'll want to try the case too. And what if the offence was committed in the middle of the ocean? Maritime law has been around for longer and that could have something to say.
What you suggest actually was done on an Air India flight from Montreal to London in 1985. The plane blew up in mid-air from a timer-controlled bomb. The one culprit who was caught and successfully tried was tried in Canada, as this was clearly where the bomb was made and put on the plane. It went aboard as luggage but the "passenger" didn't board the plane. Not surprisingly, airlines are now more careful about making sure ALL passengers actually board the plane and offloading their luggage if they don't show up. So this is not worth trying again unless you want to be a suicide bomber.
(El Al Israel Airlines has checked this for years. You need to check in EARLY for an El Al flight because they're so security-conscious, but it has ensured that they've never been "hit" by any Arab terrorists. Now this reminds me that Tarom did this when I flew to Romania in 1979 - what they did was, as we walked out to the plane, make us point out our luggage and then they loaded it into the hold. Any luggage that didn't get pointed out by a passenger got left on the ground. Bloody awful airline about everything else - they didn't even provide numbered boarding passes - but great security! Typical for a communist country.)
The Pam Am flight that blew up over Lockerbie in 1989 was rather trickier. The FBI and the Scottish police investigated it together and identified 2 Libyans as being responsible. Gaddafi of Libya finally agreed to extradite them for trial in 1999 on condition that it was held somewhere neutral. So it was held in the Netherlands, though conducted by Scottish judges under Scottish law. One of them was convicted and sent to prison in Scotland. I can see that in this case the murder of everyone on the plane clearly happened over Scotland, so Scottish law should apply.
Your example is much more like the Air India example, so my guess would be that the assaulter would be arrested in London and deported back to Canada for trial under Canadian law. Where the flight was going to land isn't relevant as it hasn't even got there yet!
Unless some of the assaults DID take place over Britain - then there could be a debate over whether to charge him or her in Canada or England or both. But the two countries get on well so I'm sure they could easily come to an agreement to try everything in one place.