The “Bind Event to Destroy Actor” fails because the Hud is not valid at the moment the “Event BeginPlay” triggers. Therefore the binding does not get assigned.
1 solution would be to play a delay and then assign the event. (In your case of cause use the destroy event not the visibilitevent).
Or you create a custom event in you actor which gets called from the widget once it is constructed.