I get your point, but that's not a great example. Kotlin is a statically typed language, and this compiles (and runs!) just fine:
val test: List<String> = listOf(1) as List<String>
println(test) // prints "[1]"
Even val test: String = 1 as String will compile, but at least gives you an exception at runtime, which the equivalent typescript wouldn't.