Ue4 is removing widgets from the hierarchy on its own

Seeing this is still an issue. (tested 4.27.2)
There are multiple things that can go wrong, but here are a few from my documentation:

If you encounter warnings that widgets have been removed from a UserWidget, there are two common scenarios which can quickly lead to data loss. 

*1: You have moved an asset and are looking at a cache problem. How to deal with this:
The "Failed to load outer for..." is common with widgets and can delete the contents of entire UserWidgets if you continue to use them. Stop working, close the editor and clear the following cache folders:
  --\AppData\Local\UnrealEngine\Common\DerivedDataCache\
  --\AppData\Local\UnrealEngine\Version\DerivedDataCache\
  --\Project\DerivedDataCache\
The next time you restart the project it will take some time to start, but this error should be gone.

*2: Your blueprint is corrupted. In all modern engine versions there is a bug which can occur when you restore a deleted widget in the widget tree with an undo (ctrl-z) action, which somehow causes blueprint corruption and will not directly show symptoms.

*3: Adding a UWidget to a WidgetTree after constructing it with an outer which is not in the same widget tree, for example, the UserWidget outer of the WidgetTree. Doing so will cause name conflicts with the constructed widgets and widgets in the existing tree.