I'm learning OCaml now and this blog post really makes me wish if tooling around js_of_ocaml[0] were this great! Thanks for the detailed write up! Bookmarked for when I start clojure!
As this blog post shows (the author spend a lot of time working on this setup), the UX for starting with ClojureScript is pretty horrible, to much incidental complexity.
I hear the maintainers of Cljs are going work on it but its not a priority.
I generally agree. Even as an experienced Clojure developer (but not much of a web developer), it took a bit of time for me to get a ClojureScript working environment integrated with Vim fully worked out.
However, you can still get to a very usable state with a minimal setup. Once you get lein-cljsbuild set up, just running 'lein cljsbuild auto' and reloading the page after changes works fairly well. No, it doesn't have the polish or Vim integration of this full configuration, but it's usable.
I don't see how you can get much simpler than this http://swannodette.github.io/2013/10/27/the-essence-of-cloju... for any compile to JavaScript language. Fundamental UX is definitely a priority - this is why fast incremental compilation and source map support exists.
I don't think it's so much that it's hard to get a productive working environment. In my experience, getting vim-fireplace working with a new Leiningen project takes nearly zero effort. Moreover, I get all sorts of nice functionality (easy evaluation of expressions, sourc/doc lookup, etc.). Getting all of these features with ClojureScript takes quite a bit more effort, especially connecting it all to a browser REPL. At least, this has been my experience.
[0] - http://ocsigen.org/js_of_ocaml/