In com.extjs.gxt.ui.client.core.El the center(boolean constrainViewport) method appears to have a bug that is incorrectly computing the proper top/left coordinates.
The following code is what looks wrong (around line 350 in the source):
The "left" value is using the containers scroll value from the top, instead of from the left, and the "top" value is using the containers scroll value from the left instead of from the top.
int left = (width / 2) - (w / 2) + container.getScrollTop();
int top = (height / 2) - (h / 2) + container.getScrollLeft();
The line # was take from the 1.2.3 release of GXT