The original isn't that noisy nor grainy, but then this is just a few I-frames that you pick. You have to play to be able to tell. The encoded frames look brighter, and with Deen(), the image looks smoother. Deen() is a detail-killer filter which can improve compressibility. An alternative of Undot() is FluxSmoothT(7), a temporal smoother (7 being the default) and a lot faster than Undot().
I usually do comparison by playing a few sections of the clip to see if any segment need to be improved. Adjustment of vbr_bias, qual_prec, custom matrix and appropriate filter would be a good combo if needed but you don't have to adjust all of them. Trial and error and other's inputs and experience can help you decide which one to use. For low bitrate, I would use HC or Procoder; CCE produces more macroblocks from my experience. Sometimes, I would reencode some segments using a different encoder because they don't look good with the current encoder I selected. Once done, I just rebuild again. Just my 2 cents.