Hola.
Para el XML es absolutamente indiferente que los tags del mismo nombre y a la misma profundidad vengan en un orden o en otro.
Si miras la documentación de Document verás que cuando preguntas por un hijo, o un conjunto de ellos, en la propia documentación de Java te dice que esos métodos no garantizan que los hijos sean devueltos en orden.
De todas formas ¿cuál es la diferencia entre las dos clases que propones? Funcionalmente no hay ninguna ¿por qué necesitas que se conserve el orden de los atributos?
Un saludo.
Silverfox