What i've worked out is that it's dictated by the region.. NOT the points, mesh, model, data etc...
This for me, coming from a CAD background (Zoom Extents!) is completely confusing, and caused a lot of frustration, like you're enduring.
It does reset the axis as expected, so x horizontally, y vertically, z out of the viewport towards you. That's logical.
But to make it crazy, it ONLY resizing the viewport to the extents of the region HORIZONTALLY! Which is all fine and dandy, until you get an ultra-wide monitor, then your points/mesh get cropped off the top and bottom for seemingly inexplicable reasons.
You can see this working if you have the region visible, and you resize/rotate it and press 0 again, and then reduce the size of the viewport by dragging over the side of the workspace window, and pressing 0 more... Oh, and another thing, it resizes it horizontally to the orthographic projection of the region, not the perspective view. Press 5 to switch between the, and you'll see, and then change the perspective angle, by holding ctrl and scrolling the mouse wheel, to make it more extreme, then switching/pressing 5, you see it's touching the edges/corners of the region. THEN it makes 'sense'.
We have a few posts about this already.
It could be a lot more intuitive if it was dictated by the point cloud, mesh, model dem, etc, etc, etc... The data... Not the region, not the camera track, none of that stuff, just the visible date.
AND that it would zoom to the extents of this data horizontally and vertically (so in x & y)
Or at least this should be an option to behave this way.
Then it should work as expected, we reset the view, and we can see the extents of our data.
So, for now, you want to resize your region, and it'll probably start behaving as hoped.