You're shining the light, but maybe you aren't seeing what's really there.
If you want cast/coated/plated bullets to shoot accurately in 9mm, you more than likely need to open up your cases some more. The Lyman M die is the easy, off the shelf solution for that.
Folks will hit you over the head with advice about slugging your bore. And IF your bore is oversize and you make/buy bigger bullets, you may still not solve the problem, because sized 9mm brass is often too small to fit a REGULAR cast bullet, let alone an oversize one. And flaring with a regular expander die does not solve this problem.
Spend a little money on a proper expanding die for cast bullets, and all your cast/coated/plated 9mm reloads will improve. If that doesn't improve things, then slug your bore. If bigger bullets are in store for you, you will need that Lyman M die even more.
The base of the bullet is where accuracy comes from. Deformed bullets are not accurate. The usual advice about flaring only enough to start the bullet is plain wrong for cast 9mm. You may need to expand the entire area where the bullet is going to sit to get the best accuracy.
OP, here a test. Shoot your cast/coated bullet reloads at 70+ yards (with a really good backstop!). If at longer range, you can't even keep them on the broad side of a barn, then it has nothing to do with your powder, or your crimp, or 0.1 grains here or there. It's that your bullet isn't stabilized due to having a deformed base.
Before I learned this, my most accurate reloads were 115 gr jacketed bullets. Plated bullets were decent, but I noticed an edge with 115 gr jacketed. Cast bullets were obviously less accurate at anything over 10 yards and miserable past 30. After learning this, all my loads are more accurate than me. ALL of the lead fouling went away, too.