Here's a point that can't be stressed enough: outside Appalachia and the South, Romney did not do very well with white voters either. Nate Cohn in The New Republic:
He ran behind Bush’s tallies in most of the northern half of the United States. While some believed that Obama’s weakness among white voters would translate into opportunities for Romney in overwhelmingly white states like Iowa, New Hampshire, and Wisconsin, Obama ultimately won these three states by 5.6 to 6.9 points, even though Bush never lost any by more than 1.3 points. More broadly, you can quickly consider changes in Democratic support among white voters between '04 and '12 in the nine states where whites represent at least 85 percent of the population. These states aren't exactly representative of white voters elsewhere, but the big picture is about right: outside of the South, Romney ran behind Bush among white voters, but he made up for it in Appalachia and the rest of the South. …
Republicans won Jefferson, CO, Chester, PA, Loudon, VA, Wake, NC, and Somerset, NJ, in every presidential election from 1968 through 2004, but Obama carried all of them with the exception of Chester County, where Obama’s performance was still better than any other Democrat since Johnson. Obama also performed near ’08 levels in moderate Democratic-leaning suburbs like Fairfax, Polk, Franklin, Hennepin, or Oakland Counties.
It's important to remember that the nation's best-educated counties are increasingly among its most diverse (whites were just 72 percent of the population in 37 counties without a major university where 40 percent or more of adults hold a Bachelor's degree), but it's clear from the results in relatively white counties (80 percent or more) like Jefferson and Larimier, CO, or Delaware, OH, that Obama's big gains over Kerry's performance in well-educated areas aren't just a product of demographic changes.