Ну в два цикла лучше это да, потом по кускам собирать объект и в массив. Про вычисляемый сходу не вспомнил. Если речь про 100 юзеров, то недорого будет, а вот если 100к юзеров и 1к групп, то да
Я сам никогда не помню и просто по логике вспоминаю. Чтобы добавить юзера в группу — надо обладать правами на изменение группы, значит свойство юзера ничего в себе не хранит