You do need a current controller This is a PWM voltage output with current shunt resistor to measure the current and a PI type controller for following the current setpoint.
The motor itself has to be low speed & high torque, since the velocity is near or equal zero. As the motor doesn't spin and therefore the built-in fan doesn't cool the motor, you have to de-rate the nominal current such that motor won't overheat.
EDIT:
But it is not clear, how a DC motor would give you a haptic feedback on a rudder. With a simple current control, you will control the torque, which can reverse the rudder position. You would have to implement also a position controller that will add a force proportionally to off-center move.
Source of images


Let suppose you do take a RC servo motor with a custom controller board and own firmware.

simulate this circuit – Schematic created using CircuitLab
The setpoin position is always 0 degrees, so the motor always force the joystick to neutral position. The input command of the "new" firmware should be the gain parameter Kp of the position loop. More gain, more force if Kp=0 then the motor does nothing.
EDIT 2:
You could use a STM32 Nucleo board which already has the demo for joystick HID USB device (including Windows device driver) then you add some Nucleo motor control board and you hook up joystick potentiometers and you scrap the RC servo using only the gearbox and the motor, or alternatively you do use your motors.