I agree this is a substantial part of the problem, particularly in larger corporations where they do target specific cities/schools.
However, I'm not sure I can agree with the implication you should locate engineering offices based on the demographics as its the only way to fix the "cities where they locate their engineering offices". Demographic/diversity shouldn't be a criteria for office location.
You shouldn't have to move your entire organization just because the city you happen to be in is ~5% Black and the largest minorities happen to be Asian or Hispanic.
For instance at $Day_Job, the floor I'm on is 25% Asian, 5% Hispanic, 5% Black, 65% White. That is pretty much +/- 5% of the actual demographics.
I wouldn't argue we lack diversity because we just follow the local demographics. I'd say the problem is when you are so out of whack with the local demographics it becomes absurd. For instance, an office in Atlanta that is 90% white.