I've got a game I'm working on that exhibits this problem in the web build but not in the editor or native builds, and I've tried to make a minimal repro case but haven't been able to get it to have the same problem, even on web builds.
The game loads assets like card portrait art for community-created game modes over HTTP and stores them locally in a cache. The HTTP request works fine, but the initial check for whether the asset is already cached and the decoding of the HTTP response are supposed to happen in worker threads. In most cases, this works as expected, with the worker task queue very quickly being emptied out and no game performance hit.
However, on the web build, the tasks in the worker task queue do not begin to be executed at all until they are explicitly waited for, meaning even a very simple game mode with only a few custom portraits that are all already cached will require a loading screen that waits on the main thread for the task queue.
I'm looking for help either getting the task queue to start tasks without an explicit wait or figuring out how to reproduce this in a simpler project so I can submit a bug report.
demo is at https://spy-cards.lubar.me/godot/