You aren't missing anything, well maybe one thing.
4.0l OHV never had user adjustable spark timing(unless you reprogram computer).
The EGR system is there to lower NOx emissions which spike high when cylinder temps do.
When you accelerate or otherwise add a load to the engine the cylinders heat up, adding exhaust gases cause slower burning of air/fuel mix in cylinders which lowers the temp.
Side effect is less or no pinging which can be caused by higher cylinder temps, octane is a heat rating, the lower the octane the lower the self ignition temp, if cylinder temp gets too high the 87 octane can self ignite, pre-detonate, ping, or knock.
So you looked at that possible cause.
Did you put a vacuum on EGR valve with engine idling, engine should start to stumble as EGR valve opens?
Another one is a Lean air:fuel mix, lean mix will self ignite at a lower temp.
O2 sensor should "see" too much oxygen in exhaust(lean burn) and computer should then add more fuel to compensate for that, but that should happen is a second or two, unless engine is cold, O2 sensor don't work until they are above 600degF so can't take a few minutes to warm up.
Could be O2 sensor on one bank is "seeing" false Rich so computer is running that bank slightly lean, and when you accelerate you get pinging.
Might check Fuel Pressure.
New no longer means "it works"
New now means "we never tested it but do give you a warranty"
After engine is warmed up, unplug IAC valve, idle should drop down to 500rpm or engine may even stall, either is good, it means no vacuum leaks.
If idle stays above 650 then you could have a vacuum leak.