Hi, I decided to play again and make some recordings to demonstrate specifically what I mean by inaccurate directions.
In this test, I'm moving directly to the left/right, then changing to diagonal-up and inputting a dash. I'm leaving a slight gap to demonstrate that I'm definitely pressing the diagonal before the dash (presses should be audible in the video). When playing on keyboard, the dash often goes left/right instead of diagonal, whereas on gamepad it is very consistent (I know gamepad is not fully supported, but I noticed it worked).
Playing with keyboard (diagonal is slow to register)
Playing with gamepad (diagonal registers perfectly)
To me, this strongly suggests the issue is caused by Input.GetAxis() smoothing, as Unity applies the smoothing to keyboard inputs but not gamepad.
Input buffering may help the controls feel better in general, but I believe this is a separate issue.
(Sorry if this is obnoxious, I just wanted to be clear about what my issue was.)