Actually I’m running into the same issue. My “crosshair” is a 200 x 200 (widget units?) size image widget square. When the alignment and position are (0,0) Pixel Position returns the upper left corner regardless of the anchor. If I set the alignment to 0.5, 0.5, it does not offset Pixel Position by 1/2 of the size.
On second thought, the documentation says not to use the GetCachedGeometry Node.