The distinction between "no runner accepted the task" vs "the JS itself ran too long" is the part I'd have missed. I'd have assumed a timeout error meant slow code and gone straight to optimizing the return statement.
Control 3 is the detail that makes it click for me — a pending request getting picked up mid-wait once a runner registers proves it's a queue/matching problem, not an execution one. That's a hard thing to demonstrate without actually building the race condition on purpose.