Desenvolvi dois códigos e cheguei em dois resultados distintos. Creio que o segundo esteja correto, mas ainda estou um pouco em dúvida quanto aos joins. No caso, fiz o join no segundo codigo com aluno_curso para entender quantas matrículas haviam.
SELECT ca.nome, ca.id,
COUNT(ca.id) as qtd_requisitos
FROM categoria as ca
JOIN curso as cu ON cu.categoria_id = ca.id
GROUP BY ca.id, ca.nome
ORDER BY ca.nome DESC
LIMIT 1;
SELECT ca.nome, ca.id,
COUNT(ca.id) as qtd_requisitos
from categoria as ca
JOIN curso as cu ON cu.categoria_id = ca.id
join aluno_curso as ac on ac.curso_id = cu.id
GROUP BY ca.id, ca.nome
ORDER BY COUNT(cu.id) DESC
LIMIT 1;