Metti $sort prima del $group, altrimenti MongoDB non può usare l'indice per aiutare con l'ordinamento.
Tuttavia, nella tua query sembra che tu voglia interrogare un numero relativamente piccolo di user_id rispetto alla dimensione totale della tua raccolta group_members. Quindi consiglio un indice solo su user_id. In tal caso MongoDB dovrà ordinare i risultati in memoria per last_post_at, ma questo vale in cambio dell'utilizzo di un indice per la ricerca iniziale di user_id.