What is the issue with the HTML Standard?
The spec uses a #wait-for-all when running the intercept handlers, which synchronously runs the success/failure steps. This is different from #waiting-for-all-promise, which queues success/failure into a promise.
However, location-href-intercept-reject.html seems to expect the navigateerror to run in a promise (it is queued after "promise microtask"), which I think is wrong. It should run before, because it's running sync with the rejected handler.
Chromium seems to use #waiting-for-all-promise.
cc @noamr @natechapin @farre