The proper manner would be using a CanvasLayer, and putting your entire UI inside it. That way it'll always be on camera and above everything.
About other nodes, though; the bottom-most node is always rendered first, and the top-most is always rendered last. If you put your TileMap as the top-most node of your root, or even make the root itself a TileMap, other nodes won't be covered.