Спасибо всем!
Хотя в данном конкретном случае groups всё ещё остаётся пустым (даже при использовании API пользователя вместо текущей сессии), мне удалось решить задачу, проверив ID группы в group_users, который также хранит те же данные, но без имени.
Я использовал свой первоначальный подход для получения данных, так как это всего лишь фрагмент, добавленный в Discourse как скрипт в head, без темы или плагина.
Мне не удалось заставить работать реальный api, но AJAX-подход работает так же хорошо для моих целей.
Ещё раз спасибо всем за советы, особенно @Lhc_fl, чей подход привёл меня к правильному решению для моего случая.