All of these effects are explained much better by social factors. If you're poor or discriminated against, you get less nutrition, less education, and face barriers in trying to improve both.
Could you please elaborate on why measuring the same group somehow eliminates social effects?
Are you claiming social factors have remained constant during the measuring period? Because they very obviously haven't.
If you're aware of the Peter principle, and how inequality compounds over time, then you know that the rate at which social factors change is correlated with their quantile values.