Se permite la ejecución de la consulta para ignorar el ORDER BY
en el FROM ( SELECT ... )
. Esta es probablemente la verdadera razón de la diferencia que está viendo. (No creo que la respuesta de Gordon sea relevante).
El problema se discute aquí (hace 4 años):https://mariadb.com/kb/en/mariadb/group-by-trick-ha-sido-optimizado/ ; que tiene una solución, a través de una configuración.
Algunas otras soluciones están aquí:http://mysql.rjweb.org/doc.php/groupwise_max ; están diseñados para ser eficientes.
Otro posible la solución es agregar un LIMIT
falso con un gran número en la subconsulta.