Как правильно организовать работу сети предприятия?
1. Нет. Нужно определиться, кто будет в DHCP - контроллер домена или микротик. Лучше контроллер домена, а на микротике - dhcp relay
2. Да, можно. dhcp relay опять же во всех подсетях на сеть, где dhcp-сервер
3.1 Не знаю, мне проще было поднять чистый IPSec
3.3 Да все на том же микротике разрешить порт 3389 остальное запретить на ту подсетку, из которой выдаются адреса VPN

Вопрос очень обьемный, многабукаф писать не хочу. Можно написать мне на мыло (в профиле), правда бывает отвечаю не сразу.
1. CRS 326 -24G является больше коммутатором чем маршрутизатором
L2TP+IPSEC не потянет (проверено на MIKROTIK CRS125-24G-1S-RM)
L2TP без IPSEC тянет на раз. Но попытайся уговорить руководство на железку с аппаратной поддержкой шифрования. Или поднимай VPN отдельным сервером.
КД (Контроллеры домена) скорей всего будешь поднимать виртуалками? (это самое правильное решение)
Но в случае какого либо сбоя (питания, Hyper-V сервера) сеть останется без DNS и DHCP
С моей, сугубо личной точки зрения:
DHCP и DNS настрой на микротике. (тем более что DHCP-серверов планируется несколько) Первым DNS - пропиши контроллер домена вторым - провайдера.  В этом случае даже при недоступности КД сеть и интернет будет работать. Ну или пропиши в микротике STATIC DNS что-то вроде:

/ip dns static
add name=domains._msdcs.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.dc._msdcs.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.default-first-site-name._sites.gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.default-first-site-name._sites.dc._msdcs.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.Default-First-Site-Name._sites.Мой_КД.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.controller._msdcs.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.default-first-site-name._sites.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.Мой_КД.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_ldap._tcp.gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kerberos._tcp.Мой_Домен.localnet srv-port=88 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kerberos._tcp.default-first-site-name._sites.Мой_Домен.localnet srv-port=88 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kerberos._tcp.default-first-site-name._sites.dc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kerberos._tcp.dc._msdcs.Мой_Домен.localnet srv-port=88 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kerberos._udp.Мой_Домен.localnet srv-port=88 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kpasswd._tcp.Мой_Домен.localnet srv-port=464 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_kpasswd._udp.Мой_Домен.localnet srv-port=464 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_tcp.Default-First-Site-Name._sites.dc._msdcs.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_tcp.Default-First-Site-Name._sites.Мой_Домен.localnet srv-port=389 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_tcp.default-first-site-name._sites.gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_tcp.gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=default-first-site-name._sites.gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_gc._tcp.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_gc._tcp.default-first-site-name._sites.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_sites.gc._msdcs.Мой_Домен.localnet srv-port=3268 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV
add name=_vlmcs._tcp.Мой_Домен.localnet srv-port=1688 srv-priority=0 srv-target=Мой_КД.Мой_Домен.localnet srv-weight=100 type=SRV

Этим подружишь домен с микротиком

2. Именно поэтому DHCP-сервера лучше завести на микротике
3.3 Забудь про порт 3389!!!! Пропиши любой другой (22222, 34567....)