How can I rotate a part in Altium without an collision error?
The solution to this was as @ConnorWolf has mentioned in the comments.

"Too lazy to write a proper answer, but you need to generate 3D bodies for your parts. Altium uses enclosing rectangles to do collision detection if you have not defined a 3D body for the part."

Adding 3D bodies solved this problem when rotating parts other than by 90deg increments.