Так я рассуждаю только в контексте натягивания на JS. Все фичи TS (кроме енамов) существуют ради того, чтобы покрыть существующий JS код. Из-за этого он и довольно разношёрстный и проще всего его учить постепенно по version changelog.
Kotlin JS такую задачу толком не ставил, поэтому на то, что JS-first или TS-first оно может просто не натянуться. Что было не проблемой, если бы Kotlin JS-first решений уже накопилось, но пока ещё нет (ну или они не очень популярны)
Но для мультиплатформы работает отлично, да. Шарить код уже довольно удобно :)