I think that the use of those extensions (.ax etc) was originally meant to disambiguate what you had written. For instance, if some instruction could use zero page or abolute adressing, it would force it to be one or the other.
What's used here (the "lda.ax $80 you mention) is different: either the extension is used to force an adressing mode to be something else than what's written, *or* the extension and the written adressing don't match because there is a mistake (depending on how you want to view it). I think it was never made for this case, and therefore isn't checking for it. And the response could be two different things: it could throw an error "what you write here doesn't look enough like the mode you seem to want", or it could force it somehow.
Personally I am in favour of giving an error message. If you want to index by X there is no reason not to just write the ",x".