Some regexp variants can do that, but I don’t think it’s possible in RouterOS, it doesn’t support even much simpler constructs.
It’s not ideal, because the less L7 filters you have the better, but you can create another for vpn.domain.tld and either stop processing when it matches, or do the other matching only when it doesn’t match (could be done with subchain), or if you mark connection/packet/routing then clear it when it also matches vpn.domain.tld.