They are in :advanced
optimized builds or if you turn on :optimize-contants true
in the compiler options.
CLJS adds extra keyword-identical?
and symbol-identical?
functions which work around the difference.
The reasons it is not done in development builds is mostly because JS didn't have Weak References until very recently and also because of the Closure Compiler not being able to optimize them properly if all keywords are stored in a "global" registry.