Update 2:
What a rollercoaster!
So I made some guesses on the joystick ID (above), and got advmame to start long enough to let me map controls. I pulled the trigger, and found it was showing up as j5. I wiggled the gun around, and it showed up as j4. Armed with that knowledge, I went back into advmame-1.4.rc and updated those lines.
Back into duck hunt and... SUCCESS! Sort of. I had movement, and it didn't drift, but it also was clearly moving in 4 directions. Like a joystick.
So I went back to gunconf, set the gun for mouse mode, and went back into AdvMame. Nothing worked (which I expected), but I was able to do that mapping trick and learn that both buttons and movement was showing up as j6. I made the appropriate changes to the rc file, and.. nothing.
Buuuuut, I did learn something about how the rc files works, so I decided to throw caution to the wind and make some changes.
I went back into the rc and set it up this way again:
device_mouse raw
device_raw_mousedev[0] /dev/input/mouse0
device_raw_mousedev[1] /dev/input/mouse1
device_raw_mousedev[2] /dev/input/mouse2
device_raw_mousedev[3] /dev/input/mouse3
device_raw_mousetype[0] ps2
device_raw_mousetype[1] ps2
device_raw_mousetype[2] ps2
device_raw_mousetype[3] ps2
I set the lightgun mapping back to "auto", and fired up duckhunt again, and it was a QUALIFIED SUCCESS!
The lightgun is now working (as in, it moves in the right direction at the right time), but there is clearly a calibration and/or sensitivity issue. The gun functions inside a very small area, which I suspect is about the resolution of duckhunt, rather than the resolution of the monitor.
I attempted to calibrate inside of duckhunt, but that's a frustrating experience since the crosshairs bounce all over the place, and I can only guess where I'm supposed to be aiming. Hardly ideal for what I'm trying to make happen here.
I am going to re-calibrate in 4:3 using gunconf, and then play with the sensitivity settings to see if I can get it to match up.