Yeah, that might be a problem. I use BSP brushes, so every time there's a crater taken out, the brush gets split into smaller convex polyhedra. Each side has a polygon. A possible optimization might be to keep track of divisions within a brush and not mesh the hidden, internal brush sides.

No, there's no choice involved. Maybe you can choose to remove some sides of a polyhedron if there's more than, say, 10. But I don't know how to decide which side will result in the least volume expansion.