All the secrets have been modified
OK, fine.
Did it make sense what I posted previously and was that the info you're after?
Yes, I simply wanted to put the all chips at right places to avoid losing time by searching from where to start.
To the topics - as I've expected initially and as you've even stated initially but in a hard to understand (at least for me) manner and confirmed recently, your "suspicious" dstnat rule at the "remote" site helps because it shadows another dstnat rule in place - the first one below in particular.
/ip firewall nat
...
add action=dst-nat chain=dstnat comment="Allow HTTPS to DSVR" dst-port=443 \
in-interface=Fibre protocol=tcp to-addresses=192.168.10.2 to-ports=\
443
add action=dst-nat chain=dstnat comment="Allow HTTP to DSVR" dst-port=80 \
in-interface=Fibre protocol=tcp to-addresses=192.168.10.2 to-ports=\
80
If you look at these rules, you can see that their matching part only checks in-interface, protocol and dst-port, it does not care about dst-address. As I've written in one of my previous posts, albeit with regard to security:
there is one risk associated with IPsec tunnel use which should be addressed - both packets which come directly to the interface and the packets decapsulated from IPsec tunnel are tagged with the same input interface.
So the rule above, unless shadowed by the "suspicious" one, steals any https connection incoming through interface Fibre and redirects it to DSVR (whatever is is), regardless whether it has arrived to the address assigned to that interface or via an IPsec tunnel passing through that interface.
So you may modify that rule by adding "ipsec-policy=in,none" to let the rule match only packets which did not come via the IPsec tunnel. If the same IP address is assigned to the interface systematically, although using DHCP, you may also use "dst-address=x.x.x.x" to make the rule match only on direct packets and ignore the tunnelled ones.
Or you may instead put your "suspicious" rule before the one above, simplified to just "chain=dstnat ipsec-policy=in,ipsec action=accept". Such rule will prevent any dstnat on anything that comes in via the IPsec tunnel but will not "protect" packets incoming directly from the rules following it.
However, the fact that the packets coming in via IPsec tunnel will avoid being dstnat'ed does not prevent the firewall
filter rules from eventually dropping them. So if the ip firewall address-list "trusted", referred to by some ip firewall filter rules, exists and contains the subnet of the "local" site, the IPsec-tunnelled packets will get through due to those rules in "forward" chain referring to that address-list.
But here the security concern I've expressed earlier comes into play - if someone spoofs a packet which has a source address matching that list, such packet will get through, regardless from where it has arrived. The eventual response to such packet will be in most cases sent to the spoofed address so the attacker will not be able to establish a connection, but there may be exceptions to that rule if the payload of such packet would contain the actual IP of the attacker and the receiving application would use that one to route the response. And in such case, the firewall would treat such connection as initiated from the protected side and let it establish.
So I would rather use a similar rule as above also in the "forward" chain of the "ip firewall filter" table: "chain=forward ipsec-policy=in,ipsec action=accept" than adding the subnets from "local" site to the "trusted" address-list in "remote"'s firewall.
Overall I do not like the general firewall concept you use, which is "allow everything, deny exceptions". In my vision of the world, the safe approach is "deny everything, allow exceptions". If you forget about an "allow" exception, the unhappy users will let you know quickly. If you forget about a "deny" exception, the happy "users" will let you know never
E.g. both your "input" and "forward" chains have several deny rules for specific types of traffic, but there is no "deny the rest" rule in the end. While some firewalls can define the default handling (allow or deny) using a separate configuration item, Mikrotik allows everything by default unless you put an "unconditional drop" as the last rule of a chain.
This is best seen at your (only) rule in the "output" chain of "ip firewall filter" - if you disable or remove it, nothing will change.