I don’t have a direct answer, but I think you have to add another outline to to it, there’s probably no specific api for cutout. I can try to find out details later.
I don’t remember the details, but I have written there that “Zones can have holes in them. Holes are also polygonal shapes. So, a zone can be composed of several polygonal shapes.”
You can create a zone with a cutout in KiCad and find out how it’s constructed by using the member functions as in my examples and fill2poly.py, I think everything you need is there in some form.
You add holes not to the zone itself but to it’s outline. SHAPE_POLY_SET has all the necessary methods
https://docs.kicad.org/doxygen-python-nightly/classpcbnew_1_1SHAPE__POLY__SET.html