i think I got it. Here's what happened:
I tried to get it to work like you did in your project, overlaying viewports on top of each other. Didn't work, because objects in one viewport wouldn't interact with those in the other.
Then I tried to make the pieces viewport smaller than the level viewport and place it on the bottom of the window. In that case, I couldn't drag the pieces between viewports.
Surprisingly, the CanvasLayer approach worked! I thought I couldn't have a Node2D working properly as a child of a control node inside a CanvasLayer, but turns out I can. So, in the end, I learned a lot of stuff and got it to work thanks to your answer, so thanks a lot!