Until v9.6 I always placed the unattend.xml in the root of the c drive and sysprep would use this without any extra command line parameters. In v9.6 the default template is now set to write directly to c:\windows\panther\unattend.XML but both locations does work.
I believe the problem may be WinPE is assigning the c drive letter to the wrong partition so when your action to inject the unattend runs it works but the file is put in the wrong partition. Can you post you mount c action parameters?
One of the fixes in SP1 was to resolve this issue with the auto assign partition action which doesn't always work hence the mount command after this we had to put in.