I'm curious about this "My focus run changes HFR by +/- 2~3 typically in the middle of imaging, for example"
Do you mean 0.2 / 0.3 HFR or really 2-3 steps ? 2-3HFR seems like a huge change.
I "literally" mean HFR by 2~3. Specific range would be HFR 6 ~ 4 over ~10 focus steps. My focuser setting has 10 count per step but this doesn't mean anything as every electric focuser has different angle per each count and every telescope has different focus amount change per focus knob angle change.
In my case, this is specific to C11/0.63 reducer with Celestron Motor Focuser.
My point being, finding best focus by going over every and very fine step is NOT the way NINA is after, IMHO, because due to the measurement error range and seeing variance per measurement, i.e. time varying.
What I'm after is to find the focus trend by stepping over around best focus and NINA algorithm seems designed for it. (I didn't design it so it's my best guess.) There are three types of focus trend you can use. Parabolic, Hyperbolic and Linear (trend line, a.k.a. linear regression). Critical focus point can't pop up somewhere in the middle of nowhere. It has specific trend per optical design. So, say if that is Hyperbolic, if you find nice hyperbolic fitting points over 10 measurements, then focus will be on the minimum point of the hyperbolic curve. And you don't have to find this point by going over every point around but by just curve fitting.
Going too small steps in narrow range may (or does, in my case) cause undesirable fittings due to bumps in the middle (like your case) caused by temporary seeing turbulence and/or measurement error and/or tracking error (during focus run, guiding is disabled and stars can be elongate) and/or whatever vibration/winds etc.
If you really don't like the large steps, then you can try increase "Auto Focus Initial Offset Steps". This will make NINA Step Size * Initial Offset Steps away from current position and search inwards. So, it will search wide range and make curve fitting better while you can keep fine step search at the cost of search time.
But just remember, NINA does NOT select minimum value it searched and measured as focus point but select the minimum point on curve fitting. So, there is really no point of going fine resolution around optimal focus point.