Five functions to get the digits of a number
I'm afraid your code has errors,  so your benchmarking is invalid. 


The get-digits-3 function is wrong.
A corrected version runs about twelve times slower than
get-digits-4.


Repairing get-digits-3

Your get-digits-3 doesn't work:

=&gt; (get-digits-3 123456789)
()


The function chain should be applied to the argument num:

(defn get-digits-3 [num]
  (-&gt;&gt; num
       (str)
       (map str)
       (map int)
       (into '())))


But this fails:

=&gt; (get-digits-3 123456789)
ClassCastException java.base/java.lang.String cannot be cast to java.base/java.lang.Character  clojure.lang.RT.intCast (RT.java:1213)


The culprit is the (map int) line. You can't apply int to strings. If you drop the offending line, you get the character values:

=&gt; (get-digits-3 123456789)
(57 56 55 54 53 52 51 50 49)


Notice, too, that they are in reverse order. So we


subtract the value of character 0 and
conj onto the other end by using a vector.


This gives us ...

(defn get-digits-3 [num]
  (-&gt;&gt; num
       (str)
       (map int)
       (map #(- % (int \0)))
       (into [])))

=&gt; (get-digits-3 123456789)
[1 2 3 4 5 6 7 8 9]


Benchmarking

I went about this differently:


I used a single example instead of a range.
I used Criterium's bench rather than its quick-bench.


The results were as follow:

For your original (faulty) version of get-digits-3:

=&gt; (bench (get-digits-3 123456789))
...
             Execution time mean : 228.998292 ns


For the corrected version:

=&gt; (bench (get-digits-3 123456789))
...
             Execution time mean : 3.440024 µs


And for get-digits-4:

=&gt;(bench (get-digits-4 123456789))
...
             Execution time mean : 247.502418 ns


This confirms that your faulty get-digits-3 is about as fast as get-digits-4. And get-digits-3 ignores its argument, so is bound to get relatively faster as the numbers get bigger. You can see that the corrected version is nowhere near competitive.