Hello @Dan Black ,
Glad that you are able to figure it out. Yes - That's the right approach.
By using Set-AzVMOSDisk you are modifying the state of the Virtual machine by using it's attributes and those changes are cached.
Now, in order for those changes to reflect - it needs to be followed by either Update-azVM / New-AzVM
Couple of examples:
https://learn.microsoft.com/en-us/powershell/module/az.compute/set-azvmdatadisk?view=azps-7.0.0
Other easy way of updating is: (You can just use pipe symbol followed by update-azvm)
Set-AzVMOSDisk -VM $azureVM -ManagedDiskId $newVMDisk.Id -Name $newVMDiskName | update-azvm