The node’s Node.location is not changing as the user scrolls or zooms. The node has not “moved” and the DiagramPanel.DiagramBounds has also not changed.
I think what’s happening is that in general the viewport (as defined by the
diagram.panel.ViewportBounds) has to change due to the change in DiagramPanel.Scale. Usually, there is a minimal movement in the DiagramPanel.Position.
But when zooming using keyboard commands, it tries to maintain the middle of the viewport at the same point in model coordinates. Try the same experiment with the node at other corners of the viewport.
Also, notice what happens when you zoom in or out using control-mouse-wheel. In that case the mouse pointer tells the commands to keep the mouse point (in model coordinates) constant at that view point (in view coordinates).