My understanding is that built in java hot swapping is very limited, and indeed would be a bad idea to try hotswapping in production.
If the clojure repl brings us closer to the erlang world isn't that a good thing?
Erlang does have a much better deployment story than jvms as far as code swapping.
But AFAIK Clojure is compiling to bytecode and is under the same constraints as the JVM that it is hosted in.
This is true for certain features (protocols, records, and gen-class, which are easy to avoid for everything but high-performance bottlenecks and legacy interop), but vanilla Clojure functions are built around vars, which are specifically designed to support reloading.
edit: it's still primitive compared to Erlang, but it's miles beyond Java.