Of course demographics have an impact because it reduces the amount of youngster that may eventually choose to pursuit a football career but that can't be a reason (or excuse) to open the border to more immigrants. Otherwise how come small countries with very little immigration like Croatia and Uruguay are so good and they only have a few million citizens?
Let me share my perspective about this matter, where football is considered as best sport and gives the opportunity to make money for a player then where more people will be interested in doing it. You said why India and China can't able to find 11 good players is because in India cricket is where money rains so every youngster from their childhood dream of becoming a cricketer than a football or javelin throw player but ofcourse India is also now focusing on improving their football participation by replicating something called ISL after the success of IPL (for cricket).
It is true that people are more attracted to money in the present times. Where more money is spent, people will gather. But not everything can be solved with money. To produce good players, systematic development is needed, as even small countries like Uruguay and Croatia have been able to do. If good quality coaching and training along with all the facilities are provided in any sport, then good players will definitely be produced.
These are countries where sport always comes first and is defined as being of primary importance and they do well, the fact that there are many sports centers like this ensures that the kids grow up as sportspeople and are able to make sport an art and a job, that's why there are so many kids who leave those countries.