QTBUG-5363 might explain a small offset on Windows but not the scaling issue unless the user's default margins on the page are really broken.

Have you tried explicitly setting QPrinter's margins to 0?