I have the same problema here.
Sad about this is that documentation dont say anything about this error.
I can't rename VM using this call on vCLOUD api.
Indeed using VmGeneralParamsType in this scenario fails (correctly) with a BAD_REQUEST exception (I have reproduced this).
If instead you change your input to be:
<Source href="https://api.vcd.local/api/vAppTemplate/vappTemplate-b1490f4a-86e0-4095-b258-2e7062ee0335" name="XXX"/>
then the name attribute is completely ignored. This means there's no way to rename a VM on the fly in recompose when the input comes from a vAppTemplate.
Changing this is a feature request.
Note however that if all you do is use recomposeVApp to reconfigure a VM and rename it, then that works. So you can solve your problem by doing 2 recomposes: 1 to instantiate the template, and another 1 to rename the VM.