Любезен човек от IRC канала на Postgresql помогна да се намери отговорът и да се създаде правилната заявка. Заслугата всъщност е негова, не моя.
Той помогна да се разбере, че албумите и src трябва да се добавят към масиви за сравнение. Например:
SELECT array_agg(rep_id), count(*) AS ct
FROM (SELECT rep_id,
data->>'background' as background,
array_agg(o->>'album' order by o->>'album') as albums,
array_agg(o->>'src' order by o->>'album') as srcs
FROM reports r,
json_array_elements(r.data->'objects') o
GROUP BY rep_id) s
GROUP BY background, albums, srcs
ORDER BY count(*) DESC
LIMIT 5;
Не знам дали това е най-добрият начин да го направя, но работи. Предложенията са добре дошли.