That’s odd. I don’t know why the DiagramPanel would behave differently depending on controls way up the visual tree. Maybe set up a DiagramPanel.ViewportBoundsChanged event handler to debug why?
You could also explicitly set the DiagramPanel.Position in all of the diagrams.