Here's my possibly naive way of doing it:
I. Create a render target the same size as the image that will be partially erased (should be transparent). I'll call this render target brush.
II. Render the polygon, offset relative to the image's origin and size, in white to brush, here shown with checkers and border to indicate transparent section.
III. Either set the render target to the image to be erased or create a render target that is a copy of the original. I'll call this target canvas.
IV. Draw the image to canvas using non-premultiplied alpha blending.
V. I came up with the following blend state in XNA to use for the next step
_blendErase = new BlendState
ColorBlendFunction = BlendFunction.Add,
AlphaBlendFunction = BlendFunction.ReverseSubtract,
ColorSourceBlend = Blend.One,
AlphaSourceBlend = Blend.One,
ColorDestinationBlend = Blend.InverseSourceAlpha,
AlphaDestinationBlend = Blend.InverseSourceAlpha,
VI. Use that blend mode to draw brush to canvas, again shown with checkers to indicate the transparent area.
Optional: Scan from the polygon's center toward the far edge of the image to find the new edge of the pixels, then trace the edge (eg using marching squares) to adjust its bounding box.
Note: This doesn't seem work with pre-multiplied alpha images, although I'm probably doing that wrong.