The Demographics of Indiana and Ohio are almost the same, Ohio just has more large metros than Indiana is what makes Ohio more competitive politically.
40% of Indiana's population lives in either Northwest Indiana (811,009) - which is pretty much just an extension of Chicagoland - or the greater Indianapolis area (1,843,620). Once you add in the Cincinnati (77,978) and Louisville (284,247) suburbs, you're up to 45% of the population. That isn't counting the following areas that are definitely not rural (population instate, only):
Fort Wayne (431,802)
Evansville (298,805)
South Bend (268,447)
Elkhart (203,781)
Terre Haute (170,687)
Bloomington (166,336)
Adding all of those in, and you get to 4,556,712, good for 69% of Indiana's population. The reason it's so Republican is not because rural areas outvote urban ones; it's because the suburbs of those areas are very, very Republican. TBH, the same is true of Ohio, too. Ohio is not a rural/urban divide; the GOP does quite well in the suburbs there.