Para comparar números com strings, o MySQL converte ambos os valores em números reais (armazenados usando o padrão de ponto flutuante).
As regras estão descritas em "Conversão de tipo na avaliação de expressão" página de documentação:
O caso que você descreveu se encaixa no último item:"em todos os outros casos, os argumentos são comparados como números de ponto flutuante (reais)" .