This is very much a layout issue. Suprised to see Force Layout Prepass does not fix it. You tried that, right?
An absolute hacky bit is to pop up the widget with 0 opacity, wait a frame for the layout to do its thing, set opacity to 1.
But that’s what Prepass node is for.