if you use a library with 50.000 lines you can really switch to async function? and then if there is a block code waiting to collect data waiting for a millisecond i dont see where is the problem for a browser view.
async and sync might be dicotomy necessary for developement.
There is no dogma in computer science but just intelligent solutions related by what you are writing.
For example introduce url:blob://… instead is wrong. In this case is absoutely wrong for a language with garbage collector and for a language used for rendering html. It is a grave error in the design because it can create memory leaks.
So it seams w3c uses many times dogma where is not necessary, and dont use it when it is necessary.