I ran into similar issues with this as well, when trying to automate a Server 2019 template installation with Packer on vSphere 7. The vmtoolsd service would install about one time in ten - then I added my timezone (GMT) to the windows unattend file I was using, and since then it has worked every time.
When troubleshooting, I noticed that one time when it had worked, the Time Service had managed to get out to sync with time.windows.com - which made me wonder if vmtoolsd wasn't installing due some kind of wierd time / authentication issue / race condition where occasionally it was able to sync time and not error.
Just speculation on my part - but for me, adding the correct timezone in my unattend file was all that was required to resolve the issue permanently.
Hope this is of use to someone...
Cheers