I am aware that the circumstances under which I can reproduce this are really hacky, but still I don't see that my hacks are responsible for the misplacing.
What I'm doing is this:
I create a new class for widgets inheriting from TextInputWidget with LookupElement as mixin, and then use a hack to replace the summary input widget in VE's save dialog with an instance of this new widget (https://de.wikipedia.org/wiki/Benutzer:Schnark/js/veSummary.js).
When the summary has some pre-filled value, the menu is misplaced the way shown in the screenshot when the dialog opens. Closing the dropdown (by bluring the input field) and opening it again fixes the position. It is also correct when the input is initially empty and the dropdown only shows once you enter something. Typing while the dropdown is misplaced does not fix the position.
This only started when I decided to pass on the $overlay parameter from the window to the input widget, before this the menu was always positioned correctly.