OpenKneeboard has optional VR support; it supports the majority of consumer headsets.
For details, see game compatibility
OpenKneeboard will appear ‘on your knee’. If it’s in the wrong place, start by recentering instead of adjusting the position - it’s useful to bind recentering OpenKneeboard to the same button/combination you use for recentering in-game.
You can add a recentering binding in OpenKneeboard Settings -> Input, or adjust the position in Settings -> VR.
If you fly with different aircraft or games, or switch between positions for another reason, you might want to use a different profile for each game.
OpenKneeboard will appear in a fixed position in the game window; you can adjust the position in OpenKneeboard Settings -> Non VR. OpenKneeboard does not support an ‘in-world’ kneeboard position outside of VR, and this is unlikely to be added in the future.