Логика очень простая. Есть куча нативных либ разного уровня убитости, но с ними необходимо работать. На Java с этим были большие проблемы, посколкьу под каждую такую либу нужно делать JNI обертку - это большая и муторная задача. На Kotlin, это казалось бы должно решаться просто классно - пишем тонкую обертку на KN с использованием Cinterop и прото подключаем как внешний модуль к JVM коду.
Да, было бы здорово, если бы можно было из Kotlin jvm в Kotlin native, но технически, в обход jni, не очень представляю как это можно сделать (
Могу посоветовать организовать работу через потоки ввода-вывода между Kotlin jvm и Kotlin native, а из Kotlin native в C. Также это намного более надёжный вариант, т.к. C код имеет свойство часто падать.