Your response completely ignores, for example, the rural California vote. Those people don't live in dense cities, but their opinions are completely ignored, because they don't live in the right state.
Alternatively, why not double down on avoiding tyranny of the majority? Make a native American's vote count as ten white votes, make an African American's vote count as three white votes... The justification for it is about as good as making a Wisconsin farmer's vote count for that of three California farmers.
It doesn't here, either. In order for it to "take precedence", it has to be the swing 2% - the 2% in the middle. That is, if the 98% of the country voted differently, a different swing 2% would be where the election swung.
Also, if we went to a national popular vote, would their concerns be more likely to be heard? Or would the candidates just rally at LA/SD and SF/SV?
There are two problems for them.
1. Unequal distribution of EC votes.
2. State-based winner-take-all distribution of EC votes.
Yes, their concerns would be far more likely to be heard with the elimination of #1, and #2. They can be completely ignored because of #2, and even if they couldn't be, then due to #1, there are better places to focus on.
Under a popular vote system, with the margins for victory as they are, nobody would be able to ignore the rural vote, as a whole. Right now, that is exactly what happens - it is ignored - except in a handful of states (Which, strangely enough, receive an overwhelming amount of federal subsidies - it's no accident that ~75% of farming subsidies go to only 10% of farmers.)
Second, having rotating senate elections, many votes requiring more than 50% to pass, and lifetime appointments to the supreme court are all designed to hold back a pure majority.
PS: I would suggest national proportional representation to the house, and instant runoff elections for the senate and president, with senate boundary chosen by a fixed public algorithm.