Here is how you correct the normals with “RotateAboutAxis” for 1 direction:
And here is how you add multiple Rotations together:
As a bonus this is how you correct for non uniform scaleing: