My point wasn't well made you are correct.
It was that there needs to be a distinct target language.
Encoding the source language in a more compact form without meaningfully changing it beyond superficially isn't compilation.
Like a web server that compresses JavaScript isn't a compiler.
My point was anything that outputs something that has to be interpreted is on sketchy grounds: if you are interpreting it how is that a distinct language from the original.
CPython can interpret py files or compile them into pyc.
CPython does not interpret the resulting bytecode. It executed on its virtual machine that bytecode.
Similarly Java and .NET languages are compiled into a bytecode which is executed on a virtual machine.
You don't interpret a compiled output.
The confusion comes from languages which support both like Python. We call Python interpreted as a shorthand for "can be interpreted" but modern Python often is compiled for the enormous performance benefits.
To reiterate you don't interpret bytecode you translate or execute it on a virtual machine.