Do I have enough rigorous classes for schools like UMich, Notre Dame, and UVA ?

My impression of the requirements is that they are looking for breadth as well as depth. Does more math make up for one less than ideal social studies?
It’s not realistic to expect all sophomores to know what they want to major in and to stick unwaveringly through that path. It’s not uncommon to change your mind through high school and even through college. Breadth shows you can handle different stuff and it shows you’re not a one trick pony.

I don’t think there’s anything intrinsically wrong with wanting to approach high school the way you are; it’s just not necessarily the best way to get into the schools you’ve listed (who do place a lot of emphasis on rigor). Make sure you have some decent matches and safeties on your college list as well.