I think this applies to the natural output of TeX's "mouth" as well, i.e. one could exapnd LaTeX macros till one obtains TeX primitives, but at that point the information on structure is already lost.
Right, but the output is a typeset document. The fact that LaTeX (the program) can do this is no evidence at all that it would be possible to build a program that converts LaTeX (the format) into some intermediate representation that make sense to a human. For example, assuming that macros are recursively expanded in place, it's possible that there's no clear dividing line between "this is a user macro that should be expanded before exporting" and "this is an internal macro that should not be expanded" (e.g. you probably want to leave "theorem environment" from AMS package unexpanded because that is semantic information you'd want when you edit the document). As another example, what should be a table or equation etc. might end up as individual lines and characters floating around as separate elements on a page.