I would make a mangle rule to route traffic from a specific IP in to the tunnel, i used an l2tp tunnel in my example but i think the same applies for wireguard;
# jun/18/2023 13:16:30 by RouterOS 6.49.6
# software id =
#
#
#
/interface bridge
add name=bridge_LAN
/interface l2tp-client
add connect-to=192.168.159.148 disabled=no name=l2tp-out1 password=test user=test
/ip pool
add name=dhcp_pool0 ranges=172.16.0.2-172.16.0.254
/ip dhcp-server
add address-pool=dhcp_pool0 disabled=no interface=bridge_LAN name=dhcp1
/interface bridge port
add bridge=bridge_LAN interface=ether2
add bridge=bridge_LAN interface=ether3
/ip address
add address=172.16.0.1/24 interface=bridge_LAN network=172.16.0.0
/ip dhcp-client
add disabled=no interface=ether1
/ip dhcp-server lease
add address=172.16.0.254 client-id=1:0:50:79:66:68:75 comment=VPC11 mac-address=00:50:79:66:68:75 server=dhcp1
add address=172.16.0.253 client-id=1:0:50:79:66:68:76 comment=VPC12 mac-address=00:50:79:66:68:76 server=dhcp1
/ip dhcp-server network
add address=172.16.0.0/24 gateway=172.16.0.1
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address=!172.16.0.0/24 new-routing-mark=TUNNEL src-address=172.16.0.253
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=l2tp-out1
/ip route
add distance=1 gateway=l2tp-out1 routing-mark=TUNNEL
VPC11> trace 1.1.1.1
trace to 1.1.1.1, 8 hops max, press Ctrl+C to stop
1 172.16.0.1 0.421 ms 0.370 ms 0.325 ms
2 192.168.159.2 1.018 ms 0.618 ms 0.651 ms
3 * * *
VPC12> trace 1.1.1.1
trace to 1.1.1.1, 8 hops max, press Ctrl+C to stop
1 172.16.0.1 0.716 ms 0.302 ms 0.338 ms
2 192.168.2.1 0.978 ms 0.859 ms 0.918 ms
3 192.168.159.2 1.427 ms 1.343 ms 1.246 ms
4 * * *
If you don't want to NAT traffic in to the tunnel, you have to make sure there is a route back on the other side of the tunnel;
/ppp secret
add local-address=192.168.2.1 name=test password=test remote-address=192.168.2.4 routes=172.16.0.253/32 service=l2tp