Set difference between list of rectangles without losing data structure

hi everybody.
As the title suggests, i have having an issue getting the set difference. The other methods i have seen on this forum usually lead to the loss of data structure. So as shown in the image i would like to get the rectangles in red without losing their branches. Also if there is instead another component that works better, it would be helpful too.
Set difference for (51.3 KB)

Thank you.

Something like this?

Set difference for (53.4 KB)