Skeletal mesh eyelids appear black when deformed for eye blink

I have a character with big round eyes and for its eyeblink the joints need to rotate a fair bit (More than 90 degrees). When the character blinks, the whole eyelid area appears black, as seen in the attached image (right one). Had this problem in past too with some characters but not as dark as this one. I suspect this has to do with the normals not getting updated for deformation when the joints rotate. So far I have tried following:

  1. Changing the normal build and import settings for skeletal mesh to different combinations trying all the settings including importing the normals and building them at import.
  2. GPU Skin cache is enabled and also tried using the same on skeletal mesh settings also.
  3. Tried the material without any normal maps just in case.
  4. Exported the skeletal mesh with closed eyes pose as the default bind pose, which did remove the issue of black eyelids but sadly not an option for me, because changing the bind pose causes the actual default pose to be messed up when he opens the eyes, because of how classic linear skinning makes vertices drift towards the rotating joints.
  5. Debug mode showed red for UV density in that area(possibly due to stretching when blinking the eyes, so also tried unwrapping UVs with blink pose to spread them open as much as possible, but sadly that also doesn’t help.

    The image on the left is default open eyes, the middle one is partially closed and it starts to get darker, and the right one shows the character beaten black and black, when on full eyeblink.

I wonder if there is one small checkbox or some setting that I am not aware of or not able to find which will fix this issue. Hoping someone out there knows a fix for this. Any help is greatly appreciated.