lodash sortBy entonces groupBy, ¿se mantiene el orden?

Tengo problemas para descubrir de la documentación lodash si mi suposición sobre la clasificación y la agrupación es correcta.

Si uso sortBy, luego uso groupBy, ¿las matrices producidas por groupBy mantienen el orden de clasificación de los elementos?

Por ejemplo, digamos que tengo la siguiente matriz:

var testArray = [[5,6],[1,3],[5,4],[5,1]]

Y me gustaría agruparlos por su primer elemento, pero también ordenarlos por su segundo elemento dentro de estos grupos. Entonces, en lodash, supongo que puedo hacer lo siguiente:

_.chain(testArray)
  .sortBy(function (item) { return item[1]; })
  .groupBy(function (item) { return item[0]; })
  .value()

Lo que termina produciendo lo que esperaría que:

{
  1: [[1,3]]
  5: [[5,1],[5,4],[5,6]]
}

¿Es solo una coincidencia? ¿Hay algo acerca de cómo funcionan sortBy y groupBy que garantice este orden de las matrices agrupadas? La documentación dice que sortBy es un tipo estable, ¿se aplica de la misma manera a groupBy? ¿Hay alguna razón por la que no deba asumir que esto funcionará siempre?

Respuestas a la pregunta(3)

Su respuesta a la pregunta