Since anti-aliasing was enabled in the painter, coordinates need to be shifted half a pixel so that they align with the pixel grid, otherwise the result gets "blurred" due to the anti-aliasing.
And as parts of the blurred shape leak outside the cursor rectangle, this also leaves artifacts when the cursor moves as these parts are not cleared.
This is basically the same as https://phabricator.kde.org/R319:e7085310d6d594823d0ed491fa8bdbd99dec4932 for the standard block cursor.
BUG: 402589