Digital control of electromechanical gauges
Your approach is ultra sensitive because you are driving the gauge open-loop.  The opamp circuit has a fixed gain, but it is driving a FET running wide open.  Its transconductance changes with temperature, the voltage from drain to source, the phase of the moon, etc, all adding up to no real stability.
There are several ways to improve things.  One is to bring the FET inside the opamp control loop.  You can do this by disconnecting the right side of R2 from the U1 output, and connecting it to the Q1 drain.  &lt;&gt; Q1 is an inverter, so you have to swap the two opamp inputs to compensate for the extra signal inversiion.  Also, we need to know the part number of the opamp because not all devices have the output voltage range to do what you want.
Separate from that, the values of R2 and R3 can be increased 10x or even 100x to lower the output stage current.
Another approach is driving the gauge with a current source rather than a voltage source.  With the 12 V source and a resistor, determine the current through the gauge at the minimum and maximum indications.  These can be used to reconfigure U1 as a voltage controlled current source (actually, current sink).
Update 1:
Another approach is to leave the opamp inputs alone, change Q1 to a bipolar transistor as an emitter follower, connect the collector to +12, connect R2 to the emitter, and move the gauge to between the emitter and GND.  The voltage across the gauge will be the voltage at C1 times the opamp circuit gain.  The transistor is just a current booster, and adds no voltage gain to the loop.  If you know the min and max resistance values of the sender, the opamp gain should be easy to calculate.  Note - you might have to add a DC offset, depending on the gauge.
Update 2:
The more I think about this, the more I prefer the Update 1 idea.  It removes any sensitivity to the absolute value of the 12 V source.  Both the filtered PWM signal and the signal to the gauge are referenced to GND only.  My guess is that both the opamp circuit gain and the look-up tables will have to be adjusted, but this probably is the second-best way to go.  First-best would be the same circuit modified to be a current source, but you might not need that level of complexity.