Off-screen widgets do not tick. Once away, the widget has no chance to tick update position itself back to screen. If you moved the update to the actor who then updates the widget position, it would work:

Update the widget here, you’re Ticking this anyway.
A widget component would work as well, of course; do note those add quite a bit of overhead. Probably negligible with only 20 of them, though.