There are no real differences in features between the MS running DHCP or the MX running DHCP.
So if you choose a L3 switching design it makes no real sense to relay traffic from the MS to the MX but you could relay to a dedicated DHCP server with all special features.
Reasons to run L2 everywhere:
- Most traffic volume is north - south
- You will never grow outside 1 distribution block on that location
- You need deep packet inspection and stateful flows between VLAN's.
Reasons to run L3 at the core/distribution
- You have moderate east west traffic
- You could have multiple distribution blocks and you typically run L3 between distribution blocks (your MX HA pair needs to be entirely inside 1 distribution block)
- You don't need deep packet inspection
Reasons to run L3 core/distribution with catalyst switches there and MS switches at the access layer
- Same as above but you do need some VLAN groups having separation between each other and only allow traffic through a firewall (separate VRF's).