FET's are non-linear Voltage controlled resistors except the threshold has a wide tolerance. This means there is a big tolerance for just the threshold voltage which is not enough to be used as a current switch. You need at least 2x to 3x the threshold voltage to conduct high currents where the guaranteeon yours is only at Vgs=5V and not 3V.
You made a good choice of FETs for RdsOn but not a good method of gate control.
This is why they are non-linear.
Gate to Threshold Voltage Vgs(TH) = 1 - 2 V when Vgs = Vds , @ Id = 250µA, Figure 10
Drain to Source On Resistance (Note 2) rDS(ON)=0.047 Ω I D = 30A, Vgs = 5V, Figure 9 - -
The drain-source resistance is very high (60V/25uA) at Vgs=0, then the Vgs(th)=Vt threshold may occur anywhere from 1 to 2V to ~6 kΩ avg = 1.5V/250uA since 1V/250µA = 4kΩ and 2V/250µA=8kΩ
The 2nd important parameter is RdsOn=0.047Ω @ Vgs=5V which is ~ 3x the gate threshold voltage, , Vt (aka) Vgs(th). So in between 5V and Vt (= 1 ~ 2V) it drops from 6k to 50m or nearly 5 decades. So very non-linear current vs gate voltage. AND you need at least 2*Vt to switch decent current, and 3* for lower losses.
I have superimposed some Vgs to Vt ratios on the datasheet curve to show these more clearly vs Drain current.

Suggestions
To use a power FET as a dimmer there are 2 simple options;
- PWM with Vgs >= 3V fixed frequency , variable duty cycle from a uC
- Voltage control Current sink using a comparator with say 100mV max drop across R from Source to Gnd and control from 0 to 100mV into comparator to drive gate from a fixed voltage and pot divider or DAC output.
p.s. The blue text is a rule of thumb and the tolerance for Vt =1.5V avg +/-0.5V but as the Vgs increases the current follows these curves at 25% C and stated Vds and the guaranteed value for RdsOn is in the table at 5V.
Yet in-between it is non-linear.
a simpler choice of FET has a threshold Vt<= 1V instead of 1 to 2V which has a RdsOn <= 0.1 Ohm.
But to make raise Vgs, you can also do this.

simulate this circuit – Schematic created using CircuitLab
Another solution for your 1 to 2V Vgs(th) from 3V

simulate this circuit
As I wasn't expecting your drive to be so low V, there are logic level FETS suitable for this task as well. Ensure current rating is 2x what you need to keep cool.
- ZXMN6A08GTA Diodes Incorporated MOSFET N-CH 60V 3.8A SOT223
- STN4NF03L STMicroelectronics MOSFET N-CH 30V 6.5A SOT223
- IRLR2703TRPBF Infineon Technologies MOSFET N-CH 30V 23A DPAK
- IRL2703PBF Infineon Technologies MOSFET N-CH 30V 24A TO-220AB