Yes it is logical! That rule exists for for objects liike tables, chairs, books, pictures etc etc (even people if the *exact* position they are in is critical (eg Ich stehe auf dem Tisch).
However, when you talk about places - restaurants, universities, banks etc you need different pronouns. "an" is used with universities.
The difference in german is actually the same as in English - I'm at the university, ich bin an der Uni are correct.
I'm on the uni and Ich bin auf der Uni are not correct - and both mean that you are standing literally on top of the uni - which I presume is not what you mean!