It seems to me, it should have worked anyway? Maybe it is not set up this way, but here is what I assume:
None rotated board
board file is loaded giving all locations relative to some origin which we may not know.
First fiducial is found to be 20mm right of expected, openPNP notes internally all coordinates are shifted 20mm
second fiducial ifs found, it is 20mm as expected but als 1 mm down.
Internal shift stuff now knows there is a rotation and a shift.
So the transform matrix is set, all things will be moved according tio this.
Now if the board is rotated because we want it to be, wouldn't the transform be rotated as well, and all above would still happen as expected to the rotated board?