Ok I finally found where this issue was coming from. And it has nothing to do with other controllers afterall.
See the plastic case around the right joystick is not completely flat. Such that the 'Up' direction does not go exactly as far as the other directions in fact.
The axis values setup with uinput were : 0 to 40.
The real ADC values read were :
left-right axis : Between 4(left) and 37 (right)
Up-Down axis : Between 6(up) and 38 (down)
So the up direction was 6 units from the minimum value, while the others were only 4 units or less from min/max values. And it seems that was the issue here. This 6 must have been considered inside the 'Dead-zone' of the joystick for the EmulationStation mapping configurator.
After modifying the python script such that the axis setup was between 0 and 36, and reducing the read values of ADC by 4, I now have :
The axis values setup with uinput were : 0 to 36.
The real ADC values read :
left-right axis : Between 0(left) and 34 (right)
Up-Down axis : Between 1(up) and 35 (down)
And now it's registering correctly.
Though I think this issue is probably the same for the other topics/gamepads that I found on reddit/this forum. It's probably the joystick "dead-zone" which is too big in the emulationstation mapping configurator for those specific gamepads.