I'm sceptical of this. The rural population of the US is no more than 20%; it doesn't seem credible that they constitute a majority of Republican voters, let alone the overwhelming majority we would need to argue that partisan divides fall along urban vs rural lines.
If, in federal elections, the US sees turnouts of roughly 60-70%, and roughly half of those votes are cast for the Republicans, for rural voters to constitute even a majority of Republican voters, it would require at least 80% of rural residents to vote Republican, which if we allow that rural areas must contain at least
some Democratic voters, would realistically require turnouts of 90% or more, far above the national average- when in fact,
the opposite appears to be true, that rural residents in much of the US are markedly
less likely to vote than urban residents, so it seems very probable that the great majority of Republican voters reside in urban and suburban areas.
If there is a rural/urban divide in US politics, it seems rather than the specific set of entrenched interests that the Republican Party represents, like resource-extraction, arms manufacturing and agriculture, are not as economically reliant on urban populations as those which the Democratic Party represents, and so are more likely to see cities as big, messy, expensive things that they would rather not subsidise. This leads the Republican Party to adopt anti-urban policies without it following that they should adopt pro-rural policies.
I think Rg339's point about statistical definitions of urban versus what the average American would consider urban is very relevant here. If the rural population were really 20%, your point would make sense, but that's only for a very generous definition of "urban". I definitely would not consider a town of 2600 people to be "urban". It's not a farm and it's not a wide spot in the road, but that's about the population my grandparents' town was when I was growing up. Neither I nor my parents would say it was urban - my parents specifically said they moved to the big city when they left it. It had a motel (later a separate hotel), a fast-food place, a local restaurant, in later years a Mexican place, and a flea market. No movie theater, no bowling alley, no grocery store (well, there was in the '50s, but not by the '90s), you had to go to the closest towns of 10,000 to 15,000 for those. You could walk from one end to the other in a day without much difficulty, there were harvest festivals with excellent food, and I've only ever met one other person from outside the area who knew of the town; he'd also moved to the big city. But within the town, everyone knew everyone, if not literally then at least close enough that people said they did.
I'll take Ohio as an example, since I live there. There are six metro areas that I think most Americans would agree are urban:
Cleveland
Columbus
Cincinnati
Akron
Dayton
Toledo
Combined, these metro areas make up 73.8% of the state's population, including the parts of the Cincinnati area that are actually in Indiana or Kentucky. Taking out those Kentuckians/Indianans yields 69.1% of Ohioans in the six urban areas that most Americans are likely to have heard of at some point. If you're generous and count Youngstown and Canton, it goes back up to 77.1%, but that's getting into questionable of whether someone from outside of Ohio or Pennsylvania would be familiar with them. Farther down - Springfield (Ohio, not Missouri), Mansfield, Weirton/Steubenville, Lima - and no one's going to know about them outside of Ohio (and West Virginia for Weirton/Steubenville). For Springfield and Lima, if Americans have heard of them, they'll likely think you mean Missouri and Peru, respectively.
Springfield is a city, I was there three weeks ago. It even has a symphony and an art museum, which as an Ohioan who lives an hour away you would not guess. 136,000 live in the metro area, of which a bit less than half live in the city itself. Is it urban? Well, yes, technically. But even by Ohio's standards, it's considered a bit provincial, and while its art museum, symphony, and university suggest it may be culturally urban, few people in Columbus or Dayton (the nearest other metro areas, an hour or less away) would guess you'd find those amenities there. Yes, Springfield probably doesn't have the best marketing department. But it's also a good example of somewhere that is big enough to count as urban by many measures, but is borderline for being seen as such even in the region. And I wouldn't have guessed it had 100,000 people, which brings me to the next point:
The population figures for metro areas include all the counties in the metro area. In Columbus's case, that is 10 counties (out of 88 in Ohio). One of those, Franklin, is where 98% of Columbus is located, and is indeed quite urban. Southern Delaware county is also fairly urban, and one could make a decent case for parts of Licking County, particularly Newark, Ohio, counting as urban, too. Franklin County does make up close to two-thirds of the Columbus metro population, and if we throw in southern Delaware, we'll hit 2/3. But that takes the 69-77% figure (depending on the fate of Youngstown/Canton) down to 46-51%. Which happens to be the same relative range that we see for the political divide.
Looking at the county-by-county maps for elections really help illustrates that, too. Franklin County, home of Columbus, is 60-70% Democratic, more so when Trump is involved. All of the other counties in the "Columbus metro" area vote majority Republican in federal, and generally state-level, elections, although Delaware is becoming less red as Columbus and its suburbs expand that way. Cincinnati, Cleveland, and Toledo are similar. I'm less sure about Akron/Dayton (though Dayton elects Democratic mayors), but Youngstown's county, Mahoning, is more like 50-55% Democratic, likely illustrating that Youngstown is not as big of an urban center as the "three C's".
Meanwhile, the everyone-considers-them-rural counties went up to 80% for Trump, which was more red than usual, but they're usually still quite reliably red. Sure, there might be blotches of blue where a larger town exists, but those towns' counties won't be quite as red as the most red ones. Lima's probably a bit blue, but not enough to move its county out of the pink zone.
So, in summary, while the official statistical definitions make it seem like 80% of the population is urban, in reality they lump a lot of people into those "metro" areas that live in small towns or even legitimately out in the country. I spend a lot of time in both southern and northern Delaware County this past year, and there's a huge difference. Northern Delaware County has yard signs all over saying, "No to the highway extension, preserve rural Delaware County's character". Southern Delaware county generally wants the highway to reduce congestion by providing a new route to points north/northwest. And I can see what the northern people mean when they refer to the rural character. You'd never guess that you were so close to a major city as you really are up there, some parts feel positively remote.
Link to the 2020 presidential election results by county:
https://www.cnn.com/election/2020/results/state/ohio All of the big cities' that I mentioned above had their home counties vote for Biden, and the only other county to do so was Athens County, home to Ohio University, a large public university (universities also tend to make counties more blue). Youngstown's home county went slightly for Trump, although the city mayor is a Democrat. The only other "pink" counties are neighbors of Toledo, Columbus, and Cleveland's home counties. Springfield's home county went 60% Trump. You can hover over counties for the percentages; the ones that are 75%+ Trump (and there are a fair amount) are pretty closely correlated with the ones where I'd have a hard time naming a town in that county as an Ohioan, unless the town and the county have the same name.