Unfortunately I have nothing useful to add to this, but I do think this is a very interesting topic.
Emulating many of the various ways that Source is clever, within Godot, is I think a very good idea.
EDIT:
Ok maybe I do have something useful to add:
If you're running into oddities between 2D and 3D text based nodes...
You could, for a HUD, just design an actual 2D node/scene as the HUD, that is then plastered over the 3D player's view port, scales with resolution sizing, etc.
You could also, for things like making names appear over interactable items in 3D worlds... don't draw the text in 3D, with 3D text nodes.
Have your 2D HUD scene simply 'see' that 3D object, that 3D object is a class that has a property that defines its 'DisplayText', and then the player has a sphere check around them, or a 'center of player vision' check, maybe a cone... that builds up a buffer of 'things close enough we should be drawing text for' and 'things too far away for that', as the player's view moves around.
The 3D position data, and the display text data is then sent to the 2D HUD scene/node, translated from 3D position into 2D screen position, and then the actual text is rendered purely in 2D.
