BGP only selects one path to put into the routing table. It sounds like your MPLS is actually working as you planned. You have the primary site in the routing table. When it goes down, BGP will insert the backup site into the routing table.
If you type
show route protocol bgp
at a remote site, you should see both routes in the BGP table.
I'll try to help where I can. I know next to nothing about Juniper, but the theory should be the same. Implementation should be the only difference.
So let's start with RD's. Each tenant has one VRF. Each VRF has a single Route Distinguisher.
If you're not familiar with RD's, they are a way to mark routes in the BGP database, to keep them unique. More information here: https://networkdirection.net/Leaking+Routes+with+MP-BGP
Sorry if I'm covering stuff you already know.. Please bear with me.
VRF's and RD's are local to each router. Route Targets however, are 'tags' that are used when sharing prefixes with neighbours. We 'export' prefixes (apply a tag to them) and 'import' learned prefixes into VRF's, if they have a particular tag set.
Now, back to your question.
It looks like the Juniper config is setting an RD and RT's on the VRF, and then another set of values in EVPN.
In the Cisco world, I use commands like 'rd auto' on both VRF and EVPN. This hides what you're seeing here.
To my understanding, it is because we're using BGP to carry layer-3 information (VRF) and layer-2 information (EVPN).
Consider this example. A tenant uses L3VNI 900003 (this is the VRF), and L2VNI 10572 (a layer-2 VNI).
Look at this output:
SW01# show bgp l2vpn evpn | inc Distinguisher
Route Distinguisher: 10.0.0.1:33339 (L2VNI 10572)
Route Distinguisher: 10.0.0.1:15 (L3VNI 900003)
This shows that the L3VNI uses a different RD than the L2VNI.
The most confusing thing, in my opinion, is that BGP carries L3 and L2 information. They are separate, as they are different address families with different RD's, yet not-separate, as they are part of the same tenant.
I know it's a big read, and thanks for bearing with me.
I hope this makes sense. Let me know if you have further questions.
Best Answer
Yes, your understanding is correct.
You need route type 2 messages to fill your ARP tables since there's no traditional broadcast domain anymore. You can find more details on type 2 messages in RFC7432.
Type 5 routes are used, as you assumed, to fill routing tables, as described in draft-ietf-bess-evpn-prefix-advertisement, which also explains some of the use cases for this route type.
There's a nice article on bgphelp.com about all the BGP EVPN route types.