Excellent question! I'm not sure there is an easy explanation. The best I can come up with is 'size'. We tend to be on (even when in) big things, but in (unless on) smaller things.
On a plane (when we're clearly in it).
On a car (means we're on it not in it).
It's one of those things you have to know. If it makes it easier to accept, lots of other languages havce exactly the same issue.