Traffic to the Fortigate is not the same as traffic through the Fortigate.
Firewall Policies only look at traffic passing through the Fortigate. Since the SSLVPN establishment session is terminated on the Fortigate, it’s traffic to the Fortigate, not through it.
Once the SSLVPN tunnel is established though, traffic from the client will then arrive on the SSLVPN interface on the Fortigate and pass through to reach some other resource, say a website on the Internet or similar.
So SSLVPN-tunnel establishment == traffic to the fortigate
Traffic from an established SSLVPN tunnel to some resource == traffic through the fortigate
→ <ssl.root> is for controlling access from to connected SSL-VPN clients. It does not control the ability to connect to SSL-VPN.
If you want a firewall policy that restricts access to SSL-VPN, you’ll need to bind SSL-VPN to loopback (typically), and then permit/restrict access via a → firewall policy.
There is no meaningful “priority” in the source-filtering. An incoming connection attempt must pass both filters. (accepted by policy + accepted by SSL-VPN address restrictions => can attempt login; denied by either => denied from access attempts)