I'm saying that argument is wrong, because there is no efficiency loss due to different insertion orders mapping to the same hidden class. In fact there are efficiency advantages because more objects would pass through class-based guard checks into favourable paths. The only reason I can see to not do that is because it would lose iteration order.
Sketch out an example of hidden class transitions and it should be clear:
In the order preserved case (what JS engines actually do):
start with {} of hidden class <empty>
add .x, transition to hidden class <A> with field .x at 0
add .y, transition to hidden class <B> with field .x at 0 and field .y at 1
start with {} of hidden class <empty>
add .y, transition to hidden class <C> with field .y at 0
add .x, transition to hidden class <D> with field .y at 0 and field .x at 1
In the order discarded case:
start with {} of hidden class <empty>
add .x, transition to hidden class <A> with field .x at 0
add .y, transition to hidden class <B> with field .x at 0 and field .y at 1
start with {} of hidden class <empty>
add .y, transition to hidden class <C> with field .y at 0
add .x, transition to hidden class <B> with field .x at 0 and field .y at 1
In the second case the field .y changes offset, but that's fine because the hidden class also changes to indicate the difference in structure. The only problem is that the order of the fields changes.