Se a função que ta no map for assíncrona o resultado dele vai ser um monte de Promise, dai da pra usar o Promise.all e gastar menos tempo, já fiz isso pra reduzir tempo de processamento e resposta em projetos pessoais(em um app e em uma API)
Respondendo a "O map retorna um array pra dentro do Promise.al..." dentro da publicação [Javascript] o map() mais performatico que for...of.
1