Think of overlap at low speeds, especially idle, creating a diluted mixture, additionally, think about the big ports of a SOHC having an issue to carry a charge to the chamber at low speeds, creating a lean mixture, Lean likes more timing dilution is fixed for the most part, but changes with RPM.
The O2 sensor sees raw fuel that is passing through when the intake and exhaust are open.
So, the computer thinks the engine is rich, and corrects, but the engine is actually asking for more fuel. So the first thing with a lot of overlap is to treat what the chamber sees with timing. Now, I am not a SOHC guy, and they will be a bit different based on what the valve does with a certain amount of overlap compared to a wedge, but I would run as much initial timing as the starter likes during hot start, and curve the distributor for desired fuel (rate) and peak power (total) from your dyno runs. Having as much initial and as flat of a curve as you can offsets the diluted mixture down low
Now, for the idle a/f mixture, some computers can go into open loop at idle (or even during hard acceleration) even when hot. That's how the advanced systems do it to compensate for big overlap cams. Mine, I can trigger open loop whenever I want. What open loop does is just essentially make it an electronic carb, commanding fuel at a predetermiend rate, with minimal or no input from the sensors. Idling in open command a richer O2 value, knowing that it may idle a little smelly out of the pipe, but what the chamber sees is what it likes, not what the O2 sensor says.
So now, mid range and accel seems to want more fuel too as you stated Yes I think so. However, use the actual terms your controller uses. Cruise, Accel, and whatever else you have, that way we can be sure to say what to change and say the same thing every time.
So cruise RPM you have lower RPMs but not as low as idle, so less dilution, AND you have less load on the motor, so you can accept leaner. Right now you have bucking at that RPM, so you likely need to go richer. As I said earlier, fix that first, BUT, like all the thinking/understanding you are doing is good, BETTER will be listening to the engine and let it tell you what it wants then testing your change. Logic may or may not work here. Change one variable, see if it fixes what you are fighting then make another decision. The fact that the controller commands 14.0 at cruise (pretty lean) AND you are getting lean behavior AND you know you have a decent cam with some overlap AND potentially pump gas could have alcohol in it all leads me to think you need to richen the commanded cruise a/f ratio.
So, if you consider cruise to be the easily replicated that covers the widest operating range and it's an easily tested scenario, do that first.
Now the Accel fuel, drop the hammer the "lean goes leaner" and backfires. Very understandable AND you are in the negative on the controller AND you have overlap and big ports which can slow the mixture down allwing fuel to come out of suspension, so it all makes sense. Next you sneak up on that.
So, in theory, at this point, you have it running great hot and what happens in cold start? The computer uses an open loop enrichment program to get the engine warmed up, like a choke. The computer just tells the injectors to do a certain thing and pretty much ignores most of the other sensor inputs. It HAS to be cold, the ECM will have a fail safe to require a certain temp to do it, so only can be changed once a day likely when the engine is cold. Usually cold start has a couple options idle speed,and idle mixture. Idle speed is easy, just bump it up if controllable. If normally idling at 1000, put it at 1250 or 1400 when cold. If you can't adjust, it'll have some sort of standard RPM additive amount on its own, so don't worry about it
Next, because the big ports and overlap already create a DILUTED mixture, now let's add that cold fuel doesn't like to atomize when cold and the entire engine has no heat. So, you richen to compensate. Same deal as before, try something, see what happens, tweak the next time. Once it warms up it will go into closed loop (what most of these systems call learning mode because it tweaks the tables while it gets inputs). However, this is not BECAUSE of overlap, it's just the cold fuel coming out of suspension adding to the issue of dilution. In other words, the chamber is diluted already because of overlap and intake/head design and the cold situation adds to the issue with a LEAN condition.
If that last sentence is confusing. Dilution = exhaust in the chamber taking up space without fuel or oxygen LEAN = Not enough fuel for the available oxygen, in this case due to cold temps
So
Timing if you can
Cruise 2nd
Accel 3rd (However see my last line)
Cold start 4th over time
If you have other options, let me know, but let the car talk to you, and go one step at a tile
Last comment, One thing I would do if was mine is put Accel to zero right away, however I know that goes against how I am telling you to tune. You dont HAVE to, but my hunch is that it will make the car easier to drive and then you can go back to it for tweaking.