Discretizing polygons first then difference facilitates. Apologies if I have misunderstood issue.
pol = Cases[region, Line[x__] :> xPolygon[x], Infinity];
r = Polygon /@ pol;
rm = RegionDifference @@ (DiscretizeRegion /@ rpol);
rmf = RegionMember[rm]
mx = Max[pol[[1, All, #]]] & /@ {1, 2};
mn = Min[pol[[1, All, #]]] & /@ {1, 2};
Manipulate[
Column[{Show[Graphics[Point[p]], RegionPlot[rm, PlotStyle -> c],
PlotRange -> Transpose[{mn, mx}], ImageSize -> 400],
If[rmf[p], c = Red; "True", c = Black;
"False"]}], {{p, {34.56, -86.2}}, Locator}]