¿El orden de recorrer un objeto puede romperse solo durante la iteración?

Supongo que la forma preferida de recorrer un objeto es esta:

for (var prop in obj) {
  if( obj.hasOwnProperty( prop ) ) {
    console.log("obj." + prop + " = " + obj[prop]);
  } 
}

MDN dice que

Propiedades eliminadas, agregadas o modificadas Un bucle for ... in itera sobre las propiedades de un objeto en unorden arbitraria (consulte el operador de eliminación para obtener más información sobre por qué no se puede depender del aparente orden de iteración, al menos en una configuración de navegador cruzado).

Entonces, si no modifico las propiedades del objeto durante la iteración, ¿puedo garantizar el orden correcto, es decir, el orden en que aparecen las claves / propiedades en un objeto o esta declaración significa algo más?