Pulled out half-abandoned stuffs from month ago (This spaceship game project is in complete overhaul from scratch rn) to demonstrate something: Punching hole in object(ish).
No music here cause even I don't recommend watching to full lmao
Godot ALWAYS renter opaque before transparent, so if you get screen color in Opaque render phase and cover hole with other mesh using that screen color, it can appear penetrating the transparent-set materials.
Therefore, entire ship material has to be set to transparent, RCS and RCS hole cover as opaque. This sill will force ship to render on transparency pass. Also make sure to enable depth test always or ship will draw over opaque and overwrite RCS Hole cover.
On RCS, create mesh that covers inner area of RCS. We'll use this to fetch screen color on shader. When ship is drawn, this top cover will still 'show' the inner area via screen texture as in depth test this rcs mesh is positioned closer to camera so ship can't overwrite these pixels.
....This mess is really bad cause it mess up so many transparent stuffs so you need to juggle between render orders for other transparent stuffs. This is why we need stencil buffer expose support....