Представим eventloop step by step
1. Мы синхронно выполнили код и получили 2 микротаска с вызовом 1 и вызовом 3
2. Микротаски вызвались и создали еще 2 микротаска с вызовом 4 и вот этим вот промисом return new Promise((resolve) => resolve());
(функция в then его просто вернула, а в следующий then он должен попасть выполненным, так что, js его отдельно сначала должен выполнять )
3. После вызова прошлых микротасок мы получили микротаск с вызовом 5 и 2
4. Осталось вызвать микротаск с 6 и все