VisualElement screen position changed event

I want to display a popover with a position relative to another VisualElement and also on top of any other VisualElement it might overlap. Since there is no z-index support in USS yet, I have to attach the popover as a child of some VisualElement which is rendered after everything else:

#root
|- some hierarchy of VisualElements
| .....
| ..... - #popover-anchor
|- #popover-root
  |- #popover

Let’s say the popover should be anchored to the #popover-anchor element. I want to register a method which updates the popover position for an event that tells me that the #popover-anchor position on screen (not relative to its parent) has changed. I tried with using the AttachToPanelEvent, GeometryChangedEvent, and CustomStyleResolvedEvent.

However, none of these are triggered, when the anchor element is inside a ScrollView which gets scrolled. What is the correct event to listen to?

I also tried subscribing to the WheelEvent which kind of worked sometimes (but not always) when using the scroll wheel of the mouse in the editor. However this obviously doesn’t help if the scrollbar is dragged, i.e., on mobile devices.

Is there no way to get info about the updated position of an element?

Is there at least some ScrollEvent that one could listen to in some parent element that would then trigger the repositioning for any scroll event? This might produce some overhead since something else might have been scrolled and not the element you’re interested in but at least there would be an update possible.