В зависимости от задачи, можно в под запросе считать не количество, а выбирать список уникальных идентификаторов ограниченный необходимым количеством, и уже этот подзапрос использовать в WHERE id IN (....)
SELECT
q.id,
q.testid,
q.question,
q.id,
GROUP_CONCAT(v.variant, '; ')
FROM questions AS q
LEFT JOIN variants AS v ON v.questionid = q.id
WHERE q.testid='1'
GROUP BY q.id