I don't think Rafale and KF-21 directly compete, in a sense they complement each other and share missiles actually. The engine will be an issue though, KF-21 with an indigenous or European engine would be much more attractive on the export market imo.
But this will be another step into clusterfucking the Indian military aviation. They have to maintain, train and operate on MiG-29s, Su-30s, Tejas, Rafale and KF-21. That's a mix-mash of many vastly different aircraft. Imo, they might as well buy more Rafales, retire the 29s and have the Rafale and Su-30 carry the AF and Navy being served with the Rafale.
But nobody gives a fuck about logistics, the ground crews and the poor people who have to organize that. The Indians are building an incoherent ace combat air force like Indonesia or Qatar with this one, lol.
Alternatively just ditch the fucking Tejas, get T-50s and FA-50s, get KF-21 (perhaps both with tech transfer and locally produced, step by step introduce indigenous systems) and slowly ditch the Russian jets and Rafales in the AF and hand the Navy something Rafale Ms or approach KAI about funding a naval KF-21N.
Either way, no matter what they buy, if they don't improve their training, their tactics and have the necessary supporting assets, then even the fanciest of aircraft will get nuked by a single engine export fighter with Chinese missiles.