Why are engine spark plugs w/o resistor so potent killers of electronics nearby them?
What's likely happening is that the spark plug is causing the ground to bounce because of absolutely enormous currents and the residual resistance of the chassis.  If the chassis is made of crap metal or the bolts aren't particularly conductive, there's probably current flowing all over the place.
The fact that the Arduino works when placed close to the spark plug (short distance to ground disturbance so low voltage drop) suggests that this is what happens (if the coupling were magnetic or radiative--closer would be worse, not better).
A &quot;resistored&quot; spark plug simply limits the current that can be discharged which keeps the ground bounce below a threshold that would reset the Arduino.
Now, &quot;Only the grounds connected&quot; should not cause the Arduino to reset as that would only be a single connection and electricity must follow a closed loop.
However, are you SURE that you only have grounds connected?  No screws somewhere?  No other pins?  Your fingers aren't touching something?  No conductive path through solder resist to chassis?  Input pins also count as connection they have diodes to VDD and GND to bleed off ESD that can get biased if the pin goes above VDD or below GND.
And, yes, an optoisolator would probably be a good idea.  You can probably make this work with SCRs, BJTs, MOSFETs, etc., but an optoisolator is probably the quickest and easiest.
Good luck.