Thank you @admon.
Just sharing for anyone who may be interested.
Here’s a basic script for changing my wg server endpoint and applying different vpn policy.
It seems working like a charm. Firewall rules gets updated automatically, triggered by the change of state of the wgclient interface.

#!/bin/sh

#Turning VPN down
uci set network.wgclient.disabled='1'
ubus -v call network.interface.wgclient down
ubus -v call network reload

echo "VPN is down"
sleep 2

#Change policy (e.g. 0 is for global proxy, 3 is for Target domain policy)
uci set vpnpolicy.route_policy.proxy_mode='3'
uci commit vpnpolicy

echo "Policy updated..."
sleep 1

#Choosing peer
uci set network.wgclient.config='peer_6429'

echo "Wireguard Turkey server selected"


#Turning VPN up
uci set network.wgclient.disabled='0'
ubus -v call network reload

sleep 2

ubus -v call network.interface.wgclient up
echo "VPN Connected!"