Как почти все, что обычно используется в Clojure, строки являются неизменяемыми, поэтому вам нужно создать новую строку с новым символом вместо старого в нужном месте:
(defn replace-at [s idx replacement]
(str (subs s 0 idx) replacement (subs s (inc idx))))
> (replace-at "012345" 2 "x")
01x345