Thing is, its not even ethnicity that decides the cap. Its 'place of birth'. If you are an Indian citizen, born in the UK, you get to skip the Indian line.
Still, I see no basis for discrimination based on place of birth, ethnicity, race, caste, creed, color etc. when I can do my job right and be good at it. I would agree that if it were a lottery or family based immigration, such caps could prevent chain immigration. However, employment based visas having that cap makes absolutely no sense and blatantly discriminates.