so i've found that the user under which the scheduled process runs does not matter. i have been able to reproduce the problem without having to stop my instance and restart with customization.
in the log output i found the command used to schedule the postcustomization on system startup (thanks for logging that).
by scheduling this myself, i can manually execute it. sure enough, i get the same problem, even logged in and manually executing from the task scheduler user interface. it seems my problem has to do with the context of executing my script via the customize-guest.exe rather than executing it directly. if i use the task scheduler to schedule executing my script instead of executing the exe that then executes my script, it works. i think i can work around all this by using the guest customization script to schedule an execution of my script i ultimately want to execute rather than trying to execute it directly. it would be ideal not to have to do this, but in theory it should work. i'll give this a try and report back.