JVM не использует компилятор javac.Процесс работает иначе: сначала разработчик запускает javac для компиляции файлов .java в байт-код Java (файлы .class), а затем JVM загружает файлы .class и выполняет байт-код.
Для компиляции кода Kotlin,Вы используете компилятор kotlinc, который компилирует файлы .kt в файлы .class.JVM выполняет байт-код из файлов .class точно таким же образом;ему все равно, какой компилятор создал файлы .class.
При компиляции чистых проектов Kotlin javac не используется никоим образом.Когда вы компилируете проект на разных языках, который содержит исходные файлы Java и Kotlin, для компиляции Java используется компилятор javac, а для компиляции Kotlin - компилятор kotlinc.