I thought that function pipelines worked in the same 'lazy' way as in Java.
However - it seems that the "laziness" in Clojure is about not realizing the full collection until someone asks for the first element.
In Java it's about pulling elements through the pipeline of functions.
In order to have the same behaviour in Clojure it's required to use Transducers.
I was slightly surprised to discover this.
I'd like to leave this here in case anyone else stumbles across this post, like I did:
Clojure Don’ts: Lazy Effects
So, if you changed the standard pipeline to process, say, 50 entries, you'd get the desired laziness (although it would process 32 entries before returning the 1st item with "take":