You can only do that via the proxy - you can’t actually port forward based on the domain name in an HTTP request because port forwarding is destination NAT. NAT has to happen on the first packet of a connection. HTTP is TCP, so the first packet is a simple SYN - you don’t know the HTTP header yet in that packet.
To make this transparent to the user you’d have to run an open proxy that at least proxies all the servers behind it. Not a very good solution, which is why I’m not typing out step by step solutions yet. If you wanted to do this you’d probably not use RouterOS as a proxy but rather do this on IIS or Apache, where you port forward all tcp/80 traffic to a proper proxy and take it from there.
That’s I was thinking that you would say that. I briefly looked in to Porxing on apache ( the default port 80 ) last night.
As the traffic will be so limited to the windows box, and these servers are only our local development + client ‘checking/testing’ a proxy will probably the best option.