The com.atproto.identity.getRecommendedDidCredentials lexicon does not return a comprehensive DidDocument, only changes that need to be made for a migration. Its returned parameters need to be merged with unchanged services, verification methods, and aliases in the user's existing DidDocument: "If using a PDS-managed did:plc, you can edit the parameters to match any additional services or recovery keys".
This change retrieves the user's existing PLC DidDocument and replaces the required services, verification methods, and aliases needed for PDS migration only (via the above lexicon). It doesn't change the user migration experience, aside from assuring no silent (potentially unrecoverable) breakage of non-atproto PDS services or verification methods
Thank you so much for the PR! Bit busy this first half of the week, but I will take a look at reviewing it later this week and testing.