A very good subject to raise, Rishi.
“On” has been a source of confusion for solvers and setters alike, and it caught me out once when setting a puzzle for The Times in which “on” was used as a link word to indicate component A next to B. I was politely informed that it could only be used to indicate component B following component A.
I can’t say I was entirely happy with the reasoning but I do understand the need to give “on” a precise meaning as a wordplay indicator. In fairness to the solver it should mean one or the other but not both (compare this with “about” – an anagrind, reversal indicator, container indicator; plus of course it could be C, CA or RE). What we’ve ended up with is “on” serving as a shorthand version of “tagged onto the end of” – yes, like I said I think the interpretation is somewhat loose, and potentially confusing because in a down clue it plays the opposite role.
However, it’s better that in an across clue it can only mean one thing (apart from RE, of course, which is another interpretation I’m uneasy with but must confess to having used).
For the actual meaning of “on” there are many interpretations, and the one which might encourage you to think it could mean A in front of B is to take a place name example such as Henley on Thames – in this sense it simply means “next to” and it doesn’t narrow that down to left or right, top or bottom; it’s simply “adjacent”.
At some point crossword editors have collectively agreed the role “on” now takes, and all we can do is accept.