If you have a current-sense circuit, then you don't need a constant-current circuit, you just need a voltage regulator, such as an LM317, whose voltage is controlled by the P;WM signal.
You then control the current by adjusting its output voltage.
Below is the LTspice simulation of an example circuit:
The maximum output is 1.25V above the peak PWM signal voltage (for a PWM duty cycle of 100%).
You can amplify the PWM signal from the Arduino with a transistor amp if needed.
But note that will invert the phase of the PWM signal.
View attachment 130571