If I understand correctly, you have tunnel ready, and you want to force some clients from your network (connected via WiFi) to connect to the Internet using remote public IP address. I’m new to all of it myself (I have set something similar just yesterday being newbie), so maybe my advise is not the best approach you can choose. Just sharing my thoughts. 
So by default you have a route in IP/Routes as 0.0.0.0/0 with public gateway provided by ISP. It has distance set o 1. You need to change distance to say 5. In router where you have static IP address set up, you are likely to be able to modify it in IP/Routes entry. In router where you get dynamic IP address, you need to change distance in IP/DHCP Client entry. At least it is like that in my case.
So now you have route 0.0.0.0/0 with public gateway and distance 5.
Next step would be to create IP/Firewall/Mangle.
Add new rule with chain=prerouting, define traffic filter (more about it below), and then in action select “mark routing”, and give it a name in field New Routing Mark, e.g. DestinedToIran
Re traffic filter, you can set Src Address, or use MAC Address of specific devices (you need to create a few mirror rules then), or you can define IP list in IP/Firewall/Addresses List, and then use this named list in mange. It will allow you to select some devices only to be routed via Iran, and rest of devices will use default rule, now with distance 5.
Next step is to add new routes. Again, add new rule where destination is 0.0.0.0/0, set distance 1 (to gives it priority over 5), and select routing mark DestinedToIran, and gateway will be your tunnel interface (easy with client, server covered below). Now all selected devices in mangle will connect to remote site via your VPN. And over there they will use default 0.0.0.0/0 route, so they will use remote NAT and public IP address.
Two remarks here:
- If your vpn goes down, tunnel will not be reachable, so default route with distance 5 will be used instead. It means that some traffic which was supposed to go via Iran will default to UK again.
- If you want to prevent it, you can mirror rule you have just added, but set distance 2 and set type=prohibit. It means that if VPN is down, you will rather fail to connect anywhere, rather than connect to Iran with your UK’s IP address.
When setting up rules above, you need to use tunnel interface. It is pretty simple with L2TP Client as you have such interface available. On the other hand server doesn’t generate such a gateway by default. In order to do it, and I’m not sure whether it is the best way to do it, you need to add IP/Interfaces/L2TP Server Binding. You can name an interface, match it with user name, and then you can use this new interface as a gateway in routes above on L2TP Server side.
btw: I had such setup yesterday, with L2TP, but at the end I set up GRE tunnel with IPSec instead.
And last thing to note… in my setup, Internet traffic routed over VPN was extremely slow. I found that switching off firewall rules with action=“fasttrack connection” solve this issue. Why, I’m not sure. You may have similar issue, so mentioning it just in case.