Alright, that makes total sense, and I know how you're feeling. This is a mame/ROM issue, on how mame translates an (joystick's) absolute analog data to a game's relative analog data.
Just for background (even though it sounds like you know already, but just in case), the original ROM is programmed to use relative analog input (spinner), and the joystick is absolute analog. Besides reprogramming the original game (not something approved by mameDev), here are three ways to translate absolute to relative: translate absolute analog to digital left/right and use mame's digitalspeed setting to simulate (fixed speed) relative analog, treat the absolute data as relative (probably scaled down by 10 to 16), or take current absolute value and subtract the prior absolute value to get the true relative change (plus maybe some scaling).
Mame used to only the the first way, but has been able to the second on and off, depending on version number and input mapping. The third is what you want, and has some big reasons why official mame doesn't do it.
*The original game isn't coded to use absolute inputs, so there is no way to "center" or "index" the game's location with the joystick's location. For example, a paddle might not start in the center at the start of the game, or might always start in the middle no matter how the joystick is possitioned.
*The original game isn't coded to use absolute inputs, so scaling probably will be needed so joystick all left = game all left and same with right.
*The original game isn't coded to use absolute inputs, so there's no way to keep the joystick and game calibrated to each other. This can be effected (both hidder and help) if mouse or left/right key are pressed in the middle of use.
*Some games originally controlled with relative inputs don't work with this method. For example, Super Sprint or Super Offroad have tracks that turn more left than right and vice versa, so you couldn't complete these tracks with an analog stick translated this way.
*Some people aren't like us and live in a relative world, and don't like this method for any games. For other not as fixed in relative, either way works okay for them.
I'm not saying it can't be done. But it will take one of two methods. Hack mame to translate as you want, or find a deviant of mame that does this; just know that I don't think this will ever make it into official mame. The other way isn't easier: get a driver so the joystick absolute analog outputs can be seen as relative mouse movements, translated as you described. For example, the stick moves from center (call it 128,128 assuming 0 to 256 range) to 10% left (call it 115,128), mame sees mouse -13,0 movement, through RawInput API. The "easiest" way AFAIK is have the joystick treated as a lightgun mouse, which still works in absolute movements, but windows automatically translates to also relative mouse info since 99% of apps assume mouse data is always relative. Either way, I don't know of any deviant or driver that does either, and you'd need to set mame's sensitivity value for each game you want to play to the correct value, and do any calibration and (ongoing) recalibration as needed.
FWIW, I tried to hack mame with above years ago, but never finished nor got it working even close to my satisfaction, and mame's inputs have changed so much since then that my edits don't fit anymore.