Hi all again, just fyi: I found it. It was indeed PEBCAK ;-)
I use an override closeEvent() function. At the end of this function, I called QApplication::quit(). This bypassed the needed functionality. Passing the close event through to KXmlGuiWindow::closeEvent() fixed the position not being restored. What still is a bit odd is that the window state was saved and restored correctly nevertheless. But whatever. It works now. Sorry for the noise, Tobias