Thanks Pavel, that makes sense now. I can confirm:
4 different browsers (Chrome, Firefox, Safari, Brave) each in their own window → no delay
4 windows in the same Chrome/Brave → 10-50s delay, all resolve simultaneously
So the root cause seems to be Chrome sharing a single HTTP/2 connection across all windows. The video saturates the connection-level flow control window, blocking small navigation requests.
Interestingly, the video’s total file size doesn’t matter: I tested with 10MB, 30MB, and 200MB videos and the behavior is the same. Looks like Chrome only buffers a fixed amount via range requests, but that’s enough to fill the HTTP/2 flow control window.
We’ll move video assets to a separate domain as a fix.