Effectively it’s not possible to add a Widget to a players viewport on BeginPlay() (which seems like the place to do it right?) - especially in Multiplayer. I got around this previously by using a Delay, but this isn’t a very nice workaround and has the potential to make debugging pretty difficult.
I think this is partially related to another issue whereby Widgets are not assigned to a ‘World’ of any kind. When you switch to a new level for example, Widgets that aren’t destroyed remain on screen forever.