Sure there are lots of goodies on user space, but there isn't any way around it, when you want to extract all juice from the platform.
- protocols have the same performance as interfaces but with significantly more power (solving the expression problem by default prevents so many headaches when you have to add more functionality later)
- loops and other binding constructs can have type hints to allow java-speed numerical operations
- immutability by default does have a cost in memory and cpu, but the ease and safety of concurrency it has enabled in my codebases more than makes up for it, e.g. "oh i've got a large (>100000 elements) of data being processed here in various ways (map, filter etc), lets parallelise that and give it a thread pool"
I feel that if I were truly performance constrained in clojure its likely I would have performance troubles in java, the difference is just not big enough.
BUT if such a situation came up, theres nothing to stop me coding up my super duper ultra performance needed code in java and just calling it from my clojure codebase. Interop is very nice.
YMMV but its never been an issue in my day to day work (mainly involves analytics, visualisation, web services)
I find clojure a significantly better language, and theres always kotlin / scala if static typing is your thang.
People tend to conflate the not-so-nice java language with the good parts (libraries and JVM). The performance of the JVM and the same massive ecosystem of existing libraries are available in clojure, scala and kotlin.