Pelo que entendi ao chamar xhr.open(...), a requisição não foi enviada ainda e só será depois de chamar xhr.send(), correto? Como o JS consegue executar a função xhr.addEventListener("load", function() {...}) antes mesmo de enviar a requisição com xhr.send()?