eu acho você deve ser capaz de usar a palavra-chave FIELD assim:
SELECT * FROM table
WHERE id in (22,20,21)
ORDER BY FIELD(id,22,20,21);
isso é específico do mysql e parece mágico, mas funciona.
SELECT * FROM table
WHERE id in (22,20,21)
ORDER BY FIELD(id,22,20,21);