I'll did what you told.
These are the steps I followed: -
1. Removed both LDAP servers from Cache Refresh.
2. Added AD LDAP to Cache Refresh (which worked successfully) where I mapped sAMAccountName -> uid and had the key attribute as sAMAccountName
3. Added OpenLDAP to Cache Refresh, which showed successful connection when testing.
4. I then also added uid to key and made an extra entry in the Cache Refresh mapping as uid -> uid like in the screenshot in the first post.
Unfortunately this time only my AD LDAP worked and OpenLDAP did not sync. I wonder if this will be fixed if I had a common primary key attribute on both AD LDAP and OpenLDAP. I'll try this and update my findings.
Meanwhile, do let me know if there's any other way I can have multiple source key to destination key mapping, or if the way I'm doing it is even correct.