Why hasn't Mongolia done better in Olympic wrestling (their national sport)?

Because they don’t care. Indians largely play non-Olympic sports (cricket, kabaddi, polo), and Indians don’t really pay much attention to international competition outside of cricket and hockey.

India also has no real tradition of corporate athletic sponsorship, and can’t “follow China’s example” because it’s not a dictatorship. Nobody in India is going to vote for politicians who promise massive public funding for sport given the country’s other problems. Eventually, corporate money will change things - it already has to some extent, with brands like Kingfisher.