This also works:
pts = {{1, 1}, {-1, 1}, {-1, 0}, {-1/2, 0}, {0, -1/2}, {0, -1}, {1, -1}}; RegionDifference[Rectangle[{-2, -2}, {2, 2}], Polygon[pts]]
Your method has the boundary region going from -2 to 2 in the x and y directions. My method has the boundary region going from -Infinity to Infinity in the x and y directions.
How about this?:
pts = {{1, 1}, {-1, 1}, {-1, 0}, {-1/2, 0}, {0, -1/2}, {0, -1}, {1, -1}}; exterior = RegionDifference[FullRegion[2], Polygon[pts]]
That also works. Thanks