A cláusula ORDER BY é executada após a execução de todo o resto na instrução SELECT; em um cenário de AGRUPAMENTO, o conjunto de resultados é limitado às colunas usadas para agregar os dados. Se você não tiver uma coluna especificada em seu conjunto de resultados inicial, o mecanismo de processamento não entenderá o que fazer com a saída solicitada.
Em outras palavras, como sua consulta não retorna valores distintos para t2.id e t1.id (já que eles não são usados na cláusula GROUP BY), o mecanismo não pode retornar os dados nessa ordem.