Set the white balance to indoor/tungsten - agreed
Add light to the scene - agreed, kind of...
100 ISO should be getting you a much cleaner image than you're seeing. What I'm looking at in that image is color noise, which may not be in all the channels, as the WB is off, it's possible it's just in one channel where it's being amped up or struggling to compensate too much by the shifted white.
Note the Blue channel:
R
G
B
Pulling that back to the right balance in camera will give you the best data to work with later. In film, it was best to get the look you wanted in camera... and you had the wonderfully analog latitude to do so. In digital, we are
quantizing the data. If it occupies only a small portion of the white/black spectrum, it'll push/pull it to the even smaller range of the quantized digital data. It's posterizing the noise, but as it's only happening in the blue channel badly, the resulting image looks weird and we don't know specifically why until we examine the component pieces.
It may be terribly geeky, but REALLY take the time to know how light (analog wavy things) is being converted into a limited set of numbered intensity values.
Binary 101 (that's a little math pun for the folks who know):
1-bit = one digit which can be a 0 or a 1
2-bit = two digits which can each be a 0 or a 1
- In decimal (base 10), the right digit is the "ones" place, the next is the "tens" place as each digit can contain 10 possible values (0-9)... 18 = 10 + 8, 23 = 20 + 3....
- In Binary (base 2), the right digit is the "ones" place, the next is the "twos" place, the next would be the "fours" place and doubling each time thereafter.
Decimal / 2-bit Binary comparisons:
D 0 = B 00 (0 twos +0 ones)
D 1 = B 01 (0 twos +1 ones)
D 2 = B 10 (1 twos +0 ones)
D 3 = B 11 (1 twos +1 ones)
To get to D4, we need to add another digit, making it a 3-bit value... Final Cut Pro uses 8-bit per channel of RGB color, giving a total possible of 256 shades of gray per channel (D 0-255 or B 00000000 - 11111111)
If I have a 8-bit ramp of gray values that starts at black (0) on the left and goes to white (255) on the right -- stuffing that into a 1-bit representation (worst case scenario, everything 127 and down suddenly = 0, everything above it = 1) would show the left half of the gradient as black, and the right half as white with a hard line in the middle. a 3-bit representation of it would add a light gray and dark gray in-between them (4 shades, 0-3).
Light doesn't come quantized, it's a continuous ramp of nearly infinitely small frequency variation from one shade to the next on the way up the ramp... Mapping this to 256 colors is just enough to avoid serious banding, so long as you are matching black to black and white to white and matching everything else relatively evenly throughout the ramp... as soon as you skew that one way or the other, it starts to do icky things, like making shorter steps on the left and stretching out the steps on the right if you've underexposed, making the top seem to have stair steps in the gradation changes.
Throw on top of this the compression that is added to try to make the file sizes smaller and you can get a mess.
White balancing makes the lightest part of each color channel (RGB) = white, and helps balance them so as not to have them do odd things separate from one another. Too dark is still too dark though.
In this case, I'd add that you should pull your exposure up a bit (In this case, by increasing the ISO after white balancing) to map the whites back up toward digital white and stretch the gradation of the image across the full digital ramp you have access to. This will capture the cleanest out of the box, then do what you will to it in post.