Another possible approach is to use some form of feedback + software to detect offsets and null it. It can be done either at start-up, or periodically. It provides more flexibility, but increases hardware / software complexity.
You can use the opamp driving the load-controlling MOSFET.
Let's suppose you design the circuit so that a DAC value of 0 actually translates into a current of a negative few milliamps in the load (more than the maximum offset).
If the load is driven by a standard positive power supply, then it is impossible to have a negative currentt, or course.
Thus, the opamp driving the MOSFET gate will output :
- some positive voltage, a few volts, for any current >= 0
- GND rail, for any current setting <=0
You can ADC or compare this voltage and detect the zero point. The only precision part is the opamp, no need for a precision comparator.