Apply Rotation on downloaded, appended eye model resets original rotation and it's driving me crazy
It has to do with your Texture Coordinate and Image Texture settings, choose the UV output socket instead of Generated and choose Flat instead of Sphere. Choosing Generated makes the pupil come back to front when you apply the rotation, which is not what you want:

Or you can put a Mapping node between these 2 nodes and play with the rotation values.