Вопрос полностью решен. Проверил несколько способов: подсчетом на бэке, запросом из этого ответа на stackoverflow (
https://stackoverflow.com/questions/39906435/conve... а также тестом аналогичной структуры, но реляционно.
Производительность проверил на таблице из 50к записей, 53к элементов в колонке суммарно (сумма длин всех массивов), среди которых ~320 уникальных элементов. В случае с реляционной таблицей, соответственно, 53к строк.
Решение 1. SELECT DISTINCT по колонке JSON (отсекает одинаковые массивы, которых в моем случае много). На бэке megre по всем массивам и unique. Время выполнения 0.57 секунды (учтено время от инициализации ORM до строки перед return)
Решение 2. Запрос со stackoverflow. 0.23 секунды. (учитывал только время запроса в phpmyadmin)
Решение 3. Реляционная форма данных. 0.03 секунды. (учитывал только время запроса в phpmyadmin)
Все 3 решения по скорости устраивают, запрос 2 среди имеющегося выглядит более костыльным