1. There is JNI. I made an example project[1] a while ago. I'll admit it's a little involved but it does exist.
2. Spec does solve the problem for me, but I don't really like static typing anyways.
3. I keep Clojure REPLs open for days. I restart if I need a new dependency and for other minor reasons, but startup time is almost a non issue for development. For scripting, you can try Planck, although yeah you lose the Java interop. I love Clojure, but I just don't use it for scripting.
Not trying to tell you you're wrong, just offering some insight into how Clojure could address (or not address) your points.