It isn't b/c of cognitive differences. It's because of the quality of education they receive. There are different ways to teach children to ensure all are high achievers.
Why are these different teaching methods never encouraged but separation is always the go to solution?
There is no justification for creating entirely different schools instead of improving the education and expectations of schools you have. Did u know research indicates that teacher quality NOT parental support or even student cognitive ability is the HIGHEST indicator of student success?
Think about that.
Edit: Also it's a common fallacy that high performing student achievement is brought down by low performing students.
https://economics.missouri.edu/working-papers/2014/wp1407_parsons.pdf
High achieving students are better off in worse schools
A lot of this is because teacher bias towards high achieving students results in them having lower expectations or assumptions that they will be okay b/c they are smart. In low acheiving classes however, they feel more pressure to stand out and perform indicative of their higher abilities.