Attaching a widget to the viewport doesn’t work properly in VR. It doesn’t take stereo rendering into account, it just places different parts of the widget across each eye (if it even works). The common way of using widgets in VR is with a world space Widget Component. See the Menu blueprint in the template for an example.
I think having the widget maintain a set position in the world after it has been opened is the best option. Most VR headsets only have a small sweet spot where the text is sharp, and some headsets or users may have a limited field of view. Having it not stick to the head lets the user move their head to read different parts of the text more easily.