If your car was made after around 1973, it has both. (at least for American made cars).
This is a shot in the dark, but what about a dirty air filter? It’s worth a shot, since it’s a 5-minute fix.
You know that big hose that runs across the top (usually) of the engine block? It connects to a square box, about 9 inches on a side. If you open that up, you can pull out the air filter. Shake it out and blow on it like a old Nintendo video game. If you want, go to the gas station’s air pump and use that to blow it clean. Put it back how you found it.
My theory is that since you haven’t done anything to the car except oil changes, you’ve neglected to change the filter and it’s gotten so dirty that it’s impermeable when the engine isn’t “sucking in” hard, like when you idle.
Cars continued to have an idle stop screw a long time after the idle speed was completely computer controlled. The stop screw basically just contols how much the throttle can close, so adjusting it out is basically the same thing as having your foot on the gas all the time.
Cars with computer controlled idle speeds usually have dire warnings all over them not to mess with the stop screw and sometimes there’s a little cap you have to snap out to get to them. Adjusting the stop screw used to be part of a tune-up on a carbureted car, but doing it on a car with EFI is just a shade-tree trick that covers up, but does not address, the actual problem.
And in some cases puts the throttle in a position where its sensor tells the computer “we’re not at idle now,” which can usher in a new round of problems.
Based on nothing more than a hunch and some experience, I’m going to say that it’s a bad crank sensor and that your mechanic will not be able to diagnose it until it fails completely. At least that was my experience on a GM car.