Classificação automática de javascript no firefox vs outros navegadores

Recentemente eu encontrei esse comportamento estranho no Firefox:

Esse código classifica automaticamente as propriedades:

var an_obj = { "4": "d", "1": "a", "2": "c"};
alert(Object.keys(an_obj)); // will alert "1, 2, 4"

Enquanto este não é:

var value2 = {"1003":1, "1001":2, "1000":3};
alert(Object.keys(value2));// will alert "1003, 1001, 1000"

Qualquer número maior que 1000 terá um comportamento diferente no Firefox, enquanto outros navegadores (Chrome, IE11) se comportarão como números esperados de classificação automática maiores que 1000.

Eu acredito que isso seja um bug no FireFox, estou errado?

Atualização 1

Isso torna a ordem "imprevisível" dentro da mesma implementação do FireFox. Eu pude entender que os valores não estão sendo classificados de nenhuma maneira ou de acordo com um critério, mas não se comportando "imprevisivelmente" após um número "arbitrário".

questionAnswers(4)

yourAnswerToTheQuestion