Потому что браузер это не единое приложение, js, цикл событий, парсер css, парсер html, рендер html, рендер шрифтов - это всё независимые реализации, а браузер только склеивает всё воедино
Честно говоря, пока не очень представляю, как концептуально это должно выглядеть :С Что же будет исполняться / происходить в моем цикле, если не исполнение кода ?
А, ну попробую. То есть симулировать эти очереди таймеров, очередь микротасок, очередь immediate, очередь событий close и попробовать сделать их обработку руками, приняв сами таски за объекты пустышки, т.к. это не важно