Если я прочитаю предложение из этого , в котором говорится
"The getElementsByName method works differently in different browsers. In Internet Explorer and Opera, it searches and returns the elements matched by id *and* name attributes. [...]"
Не думаю, что это должно быть правдой, если браузеры ведут себя иначе. Я предполагаю, что это самый простой способ добавить все найденные элементы в список, а затем напрямую вернуть его. Это скорее причина для эффективности, что он возвращается в DOM-порядке. На самом деле, я бы никогда на это не положился.