Rotate tool doesn't actually rotate around center point

I think this is a bug. When I rotate an image or layer around a central point, the result is always slightly asymmetrical and off center.

To demonstrate, if I take a square test image, and use the rotate tool to rotate the image by 45 degrees, then the preview image is asymmetrical and off center from the supposed center of rotation.

Applying the rotation and trimming to current layer results in a distorted mess for what should be a simple diamond shape. Even the canvas size is asymmetrical at 15 px by 16 px.

I’ve used nearest neighbor filtering for this example because it’s easiest to see the problem, but this asymmetrical distortion also occurs when I rotate using other filtering methods.

Interestingly, if I use the rotate tool located in the “Image” menu, the end result is still off center, but in a slightly different way than if I use the transform tool. Also weirdly, trimming to current layer reveals that part of the rotated image was cut off by the automatic canvas resize.

These issues persist for all canvas sizes and rotation angles as far as I can tell. I don’t think this behavior is intentional, but if it is, I’d at least like to understand what’s causing it to do this.