From my limited experience, the usual flow for most users is deploying/upgrading a host and installing vdsm from the engine UI on the hypervisor machine.
You are right, for non-hosted-engine hosts. For hosted-engine, at least the first host, you first install stuff on it (including vdsm), then deploy, and only then have an engine. If for any reason you reboot in the middle, you might run into unneeded problems, due to vdsm starting at boot.
In case of manual installations by non-users, it is accustomed to run "vdsm-tool configure --force" after step 3 and then reboot.
I didn't know that, sorry, but would not want to do that either, for hosted-engine. I'd rather hosted-engine deploy to do that, at the right point. Which it does :-)
Having a host on which vdsm is not running by default renders it useless for ovirt, unless it is explicitly set to be down from UI under particular circumstances.
Obviously, for an active host. If it's not active, and is rebooted, not sure we need vdsm to start - even if it's already added/configured/etc (but e.g. put in maintenance). But that's not my question - I don't mind enabling vdsmd as part of host-deploy, so that vdsm would start if a host in maintenance is rebooted. I only ask why it should be enabled by the rpm installation.