The answer depends on which async function execution mode you're running with: [Focused re-review] SE-0461: Run nonisolated async functions on the caller's actor by default
If in the present day mode, then an async function must hop off to the global pool, so there's a suspension and enqueue to the global pool there at which point that's a switch and the calling context would continue to point 6.
If we're running in the "new mode" where async functions run on their caller context the call to someAsyncFunc does not cross a boundary and it'd be closer to the single-context execution you perhaps would want here.
I'd suggest checking the details of [Focused re-review] SE-0461: Run nonisolated async functions on the caller's actor by default to check in how that relates to async function execution.