javascript – SetTimeout executa em paralelo no NodeJS?


Estou estudando sobre os conceitos de assincronismo, sei que o NodeJs é single-thread e que para alguns tipos de tarefa ele delega a mesma para o libuv (que possui 4 threads por padrão) e outras para o próprio gerenciador de threads do sistema operacional, só que ao testar um trecho de código usando várias chamadas de setTimeout o console.time() retorna 1 segundo para todas elas, o setTimeout é executado em paralelo?

O que entendi sobre o event loop é que ele vai “empilhando” tarefas assincronas e as executa em sequência, mas não entendi porque vários setTimeouts agendados para executar após 1 segundo são retornados ao mesmo tempo

trecho de código:

function sum(a, b) {
    return new Promise(function (resolve) {
        setTimeout(function () {
            resolve(a + b)
        }, 1000)
    })
}

console.time('start')
Promise.all((
    sum(1, 2),
    sum(3, 5),
    sum(3, 5),
    sum(3, 5),
    sum(3, 5),
    sum(3, 5),
    sum(3, 5),
)).then(res => {
    console.timeEnd("start")
})

Saída:

start: 1004.434ms