A recent-ish release of AWS Cognito has now allowed for case insensitivity for username input however you can't enable it on a current User Pool and requires to create a new User Pool and then migrate the users to it...
So, I've created a new user pool and have a Migration lambda working successfully but I've hit one final issue. We use the CognitoId as a Primary Key within our other systems and now when I migrate the from UserPool A to UserPool B, it creates a new CognitoId and it doesn't seem possible (from what I can see) to manually set the CognitoId / Sub as the value from the previous pool in the new pool.
Has anyone come across this before and have a work around as it's not easily feasible to update all references to a new key. (The new CognitoId isn't returned to any function in the process either)