What is the difference, if there's one well-defined language before the pass and another after it?
>A non-optimising C to assembly compiler is not compiling to the same level of abstraction.
Neither are "transpilers", otherwise they'd be quite useless. Abstraction isn't a linear hirerarchy, in any case.
The term's been in use since the 60s, when most compilers were not optimising.