I think Kotlin and Scala do the same thing as Java. I think they can do that because it can tell at compile time that it’s an array, and compile to the right byte code I suppose.
Groovy seems to force you to similarly annotate the type of the variable as being an array for it to work, and then you can use the size() method over it.
So maybe in Clojure, similar support could be added so if one type hints it as an array length could be used. Actually, maybe you could try that? Maybe it already exists.
Anyways, from my small research, it seems other JVM languages handle it at compile time by special handling of known arrays whose type must be declared at compile time.