I think the large dead zone is a good idea, and can solve most of the issue.
For the last bit of accuracy, maybe you can add a tiny (user-adjustable?) input delay: let’s say, I want to move to the top left position. This will take ~50-100 ms, I guess. So, if mDosbox notices beginning analog joystick input, it waits for ~50 ms, to see where the movement ends.
Of course, you could also extend the deadzone further, something like this should also do the trick:
It doesn’t get any more precise when you’re playing with an analog joystick, maybe your first solution in the beta was already what rcoltrane is talking about.