Hello Jeff,
This is a very intriguing idea, but presents many challenges. One challenge is the json file attributes are different between Chef and Powershell dsc. Typically with upgrades in PowerShell we take the original json file and update it with "OldVersion" parameter as well as update the paths to the new license files and setups. However, in this case the json file would need to be built from scratch and essentially needs to have matching values.
Another hurdle is that in Chef we create an Administrator username/password for the ArcGIS Server Site, and a separate account for Portal. However, in PowerShell DSC we only allow one account to be specified so this means both Portal and Server will have the same username/password. This would present a problem when registering the web adaptors since a token needs to be passed. But perhaps this could be worked around by manually updating both ArcGIS Server and Portal accounts to have the same username/password. Or possibly having separate json files for each product to be upgraded.
There could be other "gotcha's" and caveats as well since under the hood of Chef and PowerShell are very different. There would need to be allot of testing done prior to recommending this as an option.
I know Chef recently updated their Enterprise licensing agreement. My understanding is now they charge for redistributing at an Enterprise Level but the use of the Chef Infra Client I believe is still free at least for testing purposes. Perhaps you could expand on the why there will be significant costs for your current solution?
Best regards,
Cameron K.