It’s not that the “bytecode” is different.
Bruno Santos
1

If the binary was not compatible it couldn’t be executed by the JVM. Groovy, Scala, you name it, all generate fully compatible JVM bytecode.

Either a language runs on top of the Java virtual machine or it does not. There is no inbetween.

Or are you referring to additional code being generated by a language, in order to support a certain language feature? That would be still fully compatible JVM bytecode.