the vxlan tunnel are created between each vnets in full mesh. (this is the forward plane)
the frr routing is exchanging the mac address/ip, and push them in each vnet locally. (this is the control plane)
this is the main difference with classic vxlan, where the mac learning (the control plane), is doing with flooding traffic to learn mac.
and this is why you can filter arp with evpn.
no, zone is to separate traffic between vnets (with evpn, it's a different vrf between each zone)
as the are routable, you can't communicate between 2 vnets in 2 differents zones
another usage, is if you want to use same private subnet && ips, in 2 differents zones for example.
so, you need 1 zone. and in the controller config, you add all ips of all controllers (all the servers where vnets are located).