i know this is nearly a 2 years old thread, some member already got banned in the process, and the OP probably already found a solution to his problem, but fwiw and to be concise to what he was asking...
1. A gear train trades rpm for torque, so if I get 1000 rpm at the output, I get a corresponding multiplier for torque. Is this also true for PWM speed control approach?
no you wont get torque multiplier with PWM.. gear train will convert power received from battery between torque and speed, but with PWM, you are reducing battery power in the first place, so no torque nor speed increase achieved by reducing battery (input) power.
2. Is it even possible to bring down the rpm from 20,000 to something like 500 using PWM? That's a super small duty cycle.
possibly... with tuning a trimpot with the right tongue angle, beside changing PWM % duty cycle, changing PWM frequency or increasing period is another way to further reduce power to motor hence slower RPM is achievable. but once load is changed, RPM will change dramatically and you'll need to adjust again with tongue at different angle. load is not necessary what you have put to the motor, but things like bearing friction, contact resistance etc or even diminishing battery power (voltage) will change the motor operation in load vs power chart.
3. Can you recommend a general approach for my problem? FYI, I also want to reverse the spin periodically (I guess a H bridge is for this?)
while others have suggested other method such as EMF monitoring, those open loop control like the above manual trimpot control will still subject to RPM changes, another problem is if you want for accurate positional control which open loop control methods are poor in achieving. one proven method is using encoders for closed loop control, coupled with control algorithm SW to achieve desired speed, acceleration and position.
and yes, if you want reverse direction, H-bridge is common and the better known way after manual mechanical switches..
btw, its going to be fun playing with this built-in encoder motor.. china provided us with cheap solution such as ...
https://www.ebay.com/itm/130-Motor-DC6V-12V-7800RPM-Metal-Speed-Encoder-Tachometer-Motor-AB-Phase/192486576192?epid=18003843567&hash=item2cd1181040:g:hKUAAOSw5k1cdyBymotor with built in gear train also available at cheap, bless to them for providing to hobby engineering community... may they find the true path...
https://www.ebay.com/itm/Silver-40RPM-DC-1-5V-6V-Small-Micro-Metal-Geared-Box-Electric-High-Torque-Motor/222858882418?hash=item33e36cad72:g:HxkAAOSw~~xalWy4before this, there was/is brand name system that cant be afforded from west or germany iirc... i bought several version of these china motors incl the bigger one and had a little moment playing with them before going into another directive... until i come back to this again. cheers...