Frågekörningen tillåts ignorera ORDER BY i FROM ( SELECT ... ) . Detta förmodligen den verkliga orsaken till skillnaden du ser. (Jag tror inte att Gordons svar är relevant.)
Problemet diskuteras här (för 4 år sedan):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; som har en lösning, via en inställning.
Några andra lösningar finns här:https://mysql.rjweb.org/doc.php/groupwise_max ; de är designade för att vara effektiva.
Ännu en möjlig lösningen är att lägga till en falsk LIMIT med ett stort antal på underfrågan.