I don't think D is right here. The group settings in the M365 admin center won't handle the 30-day restore or enforce group expiration for Teams like B does. Pretty sure that's the catch-B handles both requirements.
Pretty sure it's B here. Only the New-AzureADMSGroupLifecyclePolicy cmdlet actually sets the group to expire and covers that 30-day content restore part directly, D just doesn't let you manage that lifecycle cleanly. If someone tried D and got it working, let me know, but B matches what MS docs say.
B . The New-AzureADMSGroupLifecyclePolicy cmdlet lets you set group expiration and the restore window fits the 30-day recovery requirement. D looks like a trap since Office 365 group settings don't cover the lifecycle policy part fully. If anyone's tried D and had it work, let me know because I'm not 100% certain.