I don't think lack of types is a drawback to Clojure. Maybe if you're a programmer who's used to static types, the lack of "typing" can be a big shock to the system. Clojure works in a different way so what you thought you would do with types can be achieved with multimethods and protocols. Furthermore with Clojure 1.9 you know have Clojure.Spec which allows you to specify the expected behaviour of a function with respect to the datatypes passed in or out so you get the advantages of static whilst still having dynamic typing.
I say this as a current Java/Kotlin programmer who also uses Clojure. Just a different way to achieve the same objective.