CMU, Cal, and UIUC are very highly ranked for CS. They are going to be reaches out of state. I will admit that I am not completely sure whether “Cal” means “UC Berkeley” or “Caltech”. I am guessing the first. It would IMHO be a reach either way.
I think that a B in BC Calculus might hurt a bit for MIT (or for Caltech, Harvey Mudd, and probably Stanford). My recollection from back when I was at MIT was that students still remembered the math class where they did not get a + sign after their A. You are taking it early and it is possible that admissions might just think of this as something that you took a bit too soon and thus a lesson not to “jump ahead” quite as much in the future (and top schools will definitely have lots of math classes where this is a valuable lesson to heed).
You have to make sure that you have solid safeties and that the budget will work out. CS is a very employable major regardless of which “top 100” or even “top 200” university you attend. With your excellent stats you should be able to get into some schools that are very good for CS.
I am not a fan of ED unless you BOTH are sure what your first choice will be, and are sure that it will be affordable.