All of this is subject to the old adage that you can’t put detail back. It’s like trying to unblur an image. You can remove some of the noise, using noise filters, but it will usually simply serve to reveal the lack of underlying resolution in what you shot, making a kind of blurry, blocky mess.
The problem with underexposing and then ‘stretching’ the gain in post is that it pulls out the noise as well as the image. It’s effectively doing the same as the camera does to compensate low light. It’s all about the signal to noise ratio in what you shot and underexposing isn’t going to help that.
The best bet really is to shoot a less grainy image – which means you need more light. I know sometimes that’s simply impossible, but often a little ingenuity can help matters a great deal. Gather together whatever household lighting you can – Maybe change the bulb in the room from a 40 watt to a 100 or 150 watt. If this isn’t an option, you could try making a homemade reflector out of white card or tinfoil to reflect available light back onto your subject. You need to try and light your subject to the point where the camera doesn’t use any gain to expose it correctly. It’s the gain that causes the grain. Gain amplifies the image, but it amplifies the noise too and only more light can improve your signal to noise ratio.
Also, use the white balance feature of the camera – you’ll find it’s much easier to turn your image back to an orangey tungsten look in post (use an orange layer with the color blending mode and adjust the opacity of that layer) than it is to pull any colour out of an image with an orange tungsten cast.
As a post-production tweak, I’d recommend lifting the gamma, using the levels or curves effect. This alters the mid grey point, effectively stretching the shadows a little. It will make your image seem a bit brighter. A gentle colour grade often helps too.
The other alternative is to go with your strengths and use the graininess of what you shot as a feature.