Thanks!
That's got me a step further: I can inspect the VMs in the vAppTemplate, but I can't seem to find where I can modify the current storage profile of the VM. For a vApp VM, I'm able to modify $VM.ExtensionData.StorageProfile.Name and .Href and then call UpdateServerData(). But, in the vAppTemplate VM, .ExtensionData doesn't exist, so I can't use that for changing the storage profile.
I see that there's a .Relocation_Task() method defined in the vAppTemplate VM. That looks like it would push the VM to a different datastore, but it's unclear that this would alter the current StorageProfile information in the VM. (I assume not.)
I also see a link to storageProfile under the .Link property of the vAppTemplate VM, but I'm not sure whether that's helpful to me yet.
Jason