O otimizador do MySQL decidirá primeiro sobre a ordem/método de junção e, em seguida, verificará se, para a ordem de junção escolhida, é possível evitar a classificação usando um índice. Para a consulta lenta nesta questão, o otimizador decidiu usar a junção Block-Nested-Loop (BNL).
O BNL geralmente é mais rápido do que usar um índice quando uma das tabelas é muito pequena (e não há LIMIT).
No entanto, com BNL, as linhas não virão necessariamente na ordem dada pela primeira tabela. Portanto, o resultado da junção precisa ser classificado antes de aplicar o LIMIT.
Você pode desativar o BNL
set optimizer_switch = 'block_nested_loop=off';