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:http://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.