S psaním otázky jsem dokončil, když mě zasáhla odpověď, takže jsem přesto psal pro sdílení znalostí!
Uvědomil jsem si, že návratová hodnota funkce metafonu byla UTF8.
Porovnání s polem latin1 zjevně znamenalo poměrně vysokou výkonnostní režii.
Přiřazení proměnné jsem nahradil:
SET @metaphone_val:= CONVERT(double_metaphone(p_parameter) USING latin1);
Nyní dotaz běží tak rychle, jak bych očekával.