This is the way. Best of both worlds although using js libraries is kind of a pain
Exactly. Pick whatever language you like. There are many more options.
Kotlin's type system works great for interop with a nominally typed lang like java but for interop with a dynamically typed lang like js and myriad of its libs not designed with type safety in mind, structural typing is far more convenient.