First, the F-21 is not enough to fight against the PLAAF. Americans spare no effort to promote the F-21 to India, most likely because Americans want to keep the production line of the F-16, which is helpful to their employment and weapons production capacity.
Second, referring to the British F-35, the United States needs to provide the source code for launching missiles, but they refused. Britain is the closest ally of the United States, without a doubt. Britain cannot freely control the F-35, let alone India. If India buys the F-35, the result is that as long as the Americans do not agree, Indians cannot launch missiles, or even take off.
Third, American weapons are too expensive. The unit price of the F-35 sold to Japan exceeds $200 million, and since India is not a treaty ally of the United States, this price may be even higher.
Fourthly, the current F-35 production capacity of the United States is only about 130 aircraft, half of which need to be given to NATO allies. Even if India buys the F-35, the United States does not have enough production capacity, so India's acquisition of the F-35 will be very late, possibly after 2035.
Fifth, India is currently unable to develop the fifth generation fighter by itself. The American technology is advanced, but unreliable and very expensive. A relatively stable source of technology is likely to be Russia.