version Boolean
You can try create a coral without a hole and Boolean hole after distribution.
Just since Boolean it would be probably calculation heavy :)
Note: Min Distance for Poison Disk distribution helps prevent overlap inner(higher) ring.
version Material-Transparent
Much lighter would be to hide those obstruct parts of mesh by assigning Transparent shader to those faces.
Before
After
Factor saying what faces will be transparent ...
You can use Circle object (filled with tris), scattered at the same places as Corals. For that purpose I created node Group from your node tree and duplicate it. Like that it is easier to keep scattering corals and circles synced when you change some scatter parameter.
Node Group (your scattering setup)
Use Circle object as Target in Geometry Proximity node. This node assigns values (attributes) to each scattered coral's vertex depends on Circle's face distance (at Spread Sheet window you can see those values under Mesh > Face Corner).
These values can be translated into Black&White mask and used as factor for mixing Solid and Transparent Shader.
Plug Distance socket into Group Output node. I call it "Hole", but can be anything. Under Modifier Properties expand Output Attributes and name it this attribute (I used "Mask").
Switch to Shading layout. In Shader Editor add a Material and add Attribute node. Use the same attribute name used in GN (in my case "Mask"). If you plug Fac socket directly into Material Output > Surface socket you can see darker color at centre of each coral., but since this color is generated by Circle object, darker are also obstruct outer parts of coral lying in area of circles. To contrast this factor I used Math node > Greater Than
... but now we have transparent also whole centre of coral element. To avoid it I created a second material and assigned it to this centre part of coral that we don't want to be affected by transparency. For this simplicity and better illustration I used just bright pink color.
Anyway ... even you solve obstructing parts corals elements wouldn't be blended seamlessly as seen on screens). So, you should consider to start from some pattern or low res to be be able blend it in a process.