Este é um bug no MySQL Query Optimizer. Parece que, se a tabela na subconsulta corresponder à tabela na consulta principal, ela será considerada uma subconsulta dependente, mesmo que obviamente não deva ser, e não há solução fácil. Desculpe; ir para a junção.