IMHO, что бы ни говорили крутые специалисты, но в первую очередь всё упирается в ресурсы: деньги на железо и лицензии, место для размещения всего оборудования. Если есть в наличии или возможность приобрести только один сервер + одна лицензия на ОС, то естественно всё придётся ставить на одном, если есть ресурсы, то вариантов много.
DHCP сервис малотребовательный, особенно для небольших сетей. Виндовый по соседству с AD/DNS меня ещё ни разу не подводил, но ни разу не подводил также и DHCP на базе pfSense или домашних роутеров (Zyxell/Asus).
Если почтовый сервер находится в локальной сети, то для него я бы посоветовал выделить отдельную машину (хотя бы виртуальную) и отдельный IP-адрес, чтобы зараженный клиентский компьютер или личный смартфон сотрудника в локальной сети не подставлял адрес под антиспам фильтры. Дополнительный адрес у многих провайдеров стоит копейки.
В целях экономии файл-сервер можно прикрутить на контроллере, но может возникнуть неприятная ситуация с закончившимся свободным местом, бэкапами или вредоносом из пользовательской папки. Если есть возможность: на виртуалку или на отдельную железку.