Вы не понимаете что значит 'не гарантирует'.
Он гарантирует неизменность порядка при отсутствии мутаций.
И то только для объектов, для массива гарантирует.
Те если ты сделаешь :
var a = { 1:2, 3: 3, 2 :2 }
delete a['3']
Он может сломать ордер, но до этого будет всегда перебирать по 1,2,3 (да, он сортировать будет для array like если он видит что похож)