Yeah, Swift is a nice language, but I would say that it's not the easiest one to learn. Its protocol-oriented concepts are powerful, but they require some mind shift. Although I didn't work with it long enough to have some strong opinion.
Yeah, Kotlin has some limitations due to Java compatibility, but this can be applied as well to Swift (Objective-C legacy) and Dart (JS "legacy" – maybe not so straightforward, but at least this start as a "better JS" produced some side-effects, in my opinion).