The best way to do this would be to create a second viewport with the dimensions and position of your blue panel box, and then when you translate the yellow collection of nodes the parts outside of the viewport will be clipped.
I know you said you don’t want any extra overhead, but the easiest way to do this would probably be to use the Lemur GUI library’s ViewportPanel object. Otherwise you’ll likely be rewriting a lot of your own overhead code to achieve the same thing, but I’m no expert in this field and just chose to use Lemur when I needed scroll boxes for my project.
There’s also this other thread discussing how to do scrollable areas with Lemur, and this specific post has a good code example showing how to do it