"Допустим, есть арендованный физический сервер с белым IP." этот IP будет служит для управления сервером?
"На нем создаем множество виртуальных машин (допустим, на WINDOWS). У каждой ВМ будет отдельный IP для подключения по RDP (или другим способом)?" Можно настроить каждой BM по белому IP-шнику, так лучше, но может быть дороже.
"Если так, на каком программном уровне распределяются IP адреса? На уровне гипервизора, или, может быть, отдельное приложение-служба "коммутатор"?" На уровне гипервизора есть "приложение-служба" коммутатор, находится в HYPER-V в Диспетчере виртуальных коммутаторов (правой мышью по хосту в оснастке HYPER-V, коммутатор расширяемый, можете туда хоть nexus 1000 прикрутить)