Let's try a simple approach and let SDRS do it's work.
Test with 1 of the problematic VMs.
$vmName='MyVM'
$dscName='TargetDSC'
$vm=Get-VM-Name$vmName
$dsc=Get-DatastoreCluster-Name$dscName
$storMgr=Get-ViewStorageResourceManager
$spec=New-ObjectVMware.Vim.StoragePlacementSpec
$spec.RelocateSpec =New-ObjectVMware.Vim.VirtualMachineRelocateSpec
$spec.Vm =$vm.ExtensionData.MoRef
$spec.PodSelectionSpec =New-ObjectVMware.Vim.StorageDrsPodSelectionSpec
$spec.PodSelectionSpec.StoragePod =$dsc.ExtensionData.MoRef
$spec.Type =[VMware.Vim.StoragePlacementSpecPlacementType]::relocate
$recommendations=$storMgr.RecommendDatastores($spec)
$recommendations.Recommendations |ForEach-Object-Process {
$storMgr.ApplyStorageDrsRecommendation($_.Key)
}