I am setting up a separate deployment server for all of my universal forwarders to get their configs from and I have a question or three.
It doesn't need to be in system/local to be a config. Splunk silently merges all of the configuration data into a master version of the config at runtime. It seeds with system/default, collates application defaults, then application overrides (from local/), then finally system/local.
To push inputs.conf and outputs.conf to the forwarders, simply include them in an application directory that you serve up via deployment server.
You can't write to system/local via deployment server, so the inputs.conf with host=xxxxxxx in that forwarder's system/local will still be present, and "trump" any other settings to end up in the working version of inputs.conf. In other words, "don't worry about setting host".
Deployment server can only update the configs.