Ilir, that’s not how srcnat and dstnat chains of /ip firewall filter work.
Only the initial packet of each connection passes through these chains; all the subsequent packets of each connection inherit the srcnat and dstnat handling from the initial packet thanks to connection tracking (or the mirror one for the opposite direction). So when a request was initiated from the LAN and src-nated, the response to it is dst-nated automatically by the connection tracker, not by a dst-nat rule.
But connection tracking does not directly affect routing, so to make sure that the responses from devices on LAN will be sent out via the same interface through which the requests dst-nated to those devices came in, you have to assign a connection-mark to the initial packet of the connection coming in via one of the WANs, and translate that connection-mark into a routing-
mark for each packet of that connection sent from LAN, and configure routes via the WANs marked with these _routing-mark_s.
One of the articles which @pe1chl has mentioned is this one.