It's possible to have nodes in a Tableau cluster to run different versions of Windows OS though I'd think it would be easier to keep the same OS (at least for Production) so that for example, all nodes would get the same Windows OS patch versus having to apply different patches.
Tableau Online is Tableau's "hosted solution". So in this instance we provide customers the number of login accounts they would need and all of the underlying hardware is handled by Tableau. The customer doesn't actually have access to this underlying hardware.
Within a Tableau cluster, all nodes need to be running the same version. If there's a mismatch, the Tableau cluster won't start up.