Thanks for showing the circuit. Certain improvements are possible with minor modifications.
- The PWM frequency of 300Hz is very low, so that very long time for averaging is required. With a 16MHz uC, a PWM frequency above 200kHz is possible, including DS update with this rate. A PWM frequency >20 kHz should be no problem with suitable software.
- A lowpass of order >=3 and a buffer amplifier are necessary to use the circuit as controllable reference e.g. for calibration.
- The reference buffer must have very good dynamic characteristics for high DAC linearity. Your buffer amplifier circuit shows deviations of 1.9 mVpp with a 1mA load step and an output impedance of 1 Ohm. With a small modification (please see below), the deviation can be reduced to <0.3 mVpp, and the output impedance is <0.17 Ohm always, a further improvement is easy.