You have to specify the different between BROWSING and DOWNLOADING.
Both action is using TCP Port 80. Remember, most of the time in RouterOS, we will talk in layer3.
I have realized that you can set the connection Bytes in Firewall rules. I have not tried it yet but you could look into rather than depending your routing on nth, develop a system whereby if an Established connection size exceeds say 2 MBytes, then route it to the GW intended for downloads. I don’t know exactly if that would interrupt and break your download session. You can give it a try. Maybe MT can suggest some ideas or provide guidance.