Было бы очень логично анализировать поток как полученный. Ожидание завершения ответа (или вызова свойства responseXml) означает дополнительную задержку между получением последних байтов и построением DOM. Казалось бы, лучшим подходом было бы построить DOM параллельно с получением потока, следовательно, по завершении DOM готов к использованию.
Обратите внимание, что большая подсказка заключается в том, что MSXML не предоставляет DOM, если тип Content не определяет тип XML, а реализация Mozilla позволяет ему обрабатывать полученный контент, как если бы он был XML Content-Type, указывающий иначе.
Ничего из вышеперечисленного не требуется, если DOM не анализируется до получения доступа к свойству. Свойство может также просто попытаться разобрать. Это потому, что DOM может быть создан при получении контента, что необходимо выше.