Exceptions for control flow

You can do something similar to what you did in Scala and generate a class which extends Exception and overrides the fillInStackTrace method:

(ns clojure-playground.NoStackException)
(gen-class :name clojure_playground.NoStackException
           :extends java.lang.Exception)
(defn -fillInStackTrace
  ([])
  ([_n]))

Then in REPL:

(compile 'clojure-playground.NoStackException)
(import 'clojure_playground.NoStackException)
(new NoStackException "foo")

Not sure how to make it work in the context of a project, but it seems doable.
You can also use one of the myriad implementations of the Either monad.