Изпълнението на заявката е разрешено да игнорира ORDER BY
в FROM ( SELECT ... )
. Това вероятно е истинската причина за разликата, която виждате. (Не мисля, че отговорът на Гордън е уместен.)
Проблемът се обсъжда тук (преди 4 години):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; който има едно решение, чрез настройка.
Някои други решения са тук:http://mysql.rjweb.org/doc.php/groupwise_max ; те са проектирани да бъдат ефективни.
Още едно възможно решението е да добавите фалшив LIMIT
с голямо число в подзаявката.