Почему Event Loop пропускает первый task и сразу переходит к микротаскам?
Как будто начальное выполнение всего этого кода уже и есть таск.Вы таки не поверите, но код, запускающийся при загрузке скрипта - это отдельный таск. Он помещается в стек тасков и выполняется, пока стек не опустеет. Затем выполняются все накопившиеся микротаски, затем из очереди тасков в стек перемещается следующий таск.
Промис выполняется первым, потому что это микротаск, а таймаут - макротаск. 
Все микротаски завершаются до перехода к следующему макротаску.

Вот объяснение на русском языке: https://learn.javascript.ru/event-loop#makrozadach...
А вот спецификация эвентлупа если нужны подробности: https://html.spec.whatwg.org/multipage/webappapis....