The documentation is slightly outdated. If you look at
@macroexpand Threads.@spawn busy(v)
you’ll see that @spawn also sets the threadpool.
Before you schedule the t task, you may look at its threadpool:
julia> Threads.threadpool(t)
:interactive
So it runs on the same threadpool as your REPL, with a single thread. And it never yields.