I did some more research.
Note that differences here are not directly related to regexp behaviour (pattern is only composed of characters) but more about how empty strings are handled (both input and result).
Given the contract for clojure.core/split is not very well defined I guess it is safe to assume Java behavior is the contract (it directly relies on String#split). Unfortunately String#split contract is not much more helpful (especially regarding the limit cases we are considering here).
EcmaScript 5 definition (section 188.8.131.52 p. 148) of split (directly used by ClojureScript version of clojure.core/split) is pretty well defined but hard to de-cypher. To complicate things further IE is known to strip empty strings from result (GWT implementation has some more details).
That said I found an EcmaScript test that validates ClojureScript result for (clojure.string/split "ab" #"b").
In general it looks like Clojure split results differ depending on wether a limit is provided or not (for the cases detailed here). This is not the case in ClojureScript.
One thing to consider is that ClojureScript split has 2 different implementations depending on the limit usage. Maybe an option would be to only rely on the custom implementation and make sure it matches Java split behavior (not considering regexp differences)? I doubt performance would be a problem here.
PS: I discovered a bug when mixing empty strings and limit: (clojure.string/split "abc" #"" 5) => ["" "" "" "" "abc"]