Very impressive what you have done with the nano and the using J5 as the entry point to an existing MPU.
I have been mucking arround with a bally AS-2518-23 and uno for my arduino pinball see
https://pinside.com/pinball/forum/topic/build-your-own-lamp-driver/page/3#post-4818280
So far I have managed to use the arduino for my William Phoenix machine, Gottlieb Close Encounters.
Its been a learning journey like yourself.
My latest machine utilizes a few arduinos that handle specific tasks, for example an uno with a spikenzie B64 shield performs the switch matrix function.
The rows and columns wires connects to it and it performs the debouncing. It serially connects to my arduino mega 2560.
A second uno connects to my Bally AS-2518-23 which controls the 60 Lamps again simple serial connection passes lamps on/off control.
I picked up a separate Zero Cross detector circuit that interfaces to the uno. Interfacing to the board taught me about SCR and Zero Cross world.
In hindsight, I could have completely bypassed that uno and just plug the leads into the Arduino Mega 2560 (oh well).
The Arduino Mega does all the real time stuff taking the switch matrix inputs and driving the solenoid board and talks serially to a Raspberry pi. I also have an 20x4 LCD screen for debug connected.
The pi drives the TV screen backboard and polyphonic sounds. Basically, the pi reads the serial commands from the mega to control the python program that displays the score, balls, credits, and queue the playing of sound, background music.
For the sound department, if I were to do it over, I think I would go the route of a wave trigger board
https://robertsonics.com/2015/04/25/arduino-serial-control-tutorial/ this seems to be the go to board for many hobby projects.
I just wanted to say thanks for sharing what you have done. Sharing your experience will aid me in my learning journey.