Please check if auto-export works for you in this case:
https://www.juniper.net/documentation/en_US/junos12.3/information-products/topic-collections/nce/auto-export-understanding/auto-export-understanding.pdf
I think this is exactly what I need after reading it:
Custom policies, such as vrf-export and vrf-import, do not leak prefixes between VRF routing instances if the source VRF routing instance and the destination VRF routing instance are on the same PE router.
That being said, even after adding the auto-export statement under the routing-instances, I'm still not populating the tables correctly so more than likely the issue is now with my import and export policies.
inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
A V Destination P Prf Metric 1 Metric 2 Next hop AS path
* ? 2.0.1.9/32 D 0 >lo0.0
* ? 224.0.0.2/32 L 9 1 MultiRecv
GREEN-SHARED.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
A V Destination P Prf Metric 1 Metric 2 Next hop AS path
* ? 3.3.3.3/32 B 170 100 0 3 I
unverified >192.168.3.2
* ? 192.168.3.0/30 D 0 >ge-0/0/0.0
* ? 192.168.3.1/32 L 0 Local
BLUE-VIOS2.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
A V Destination P Prf Metric 1 Metric 2 Next hop AS path
* ? 2.2.2.2/32 B 170 100 0 2 I
unverified >192.168.2.2
* ? 192.168.2.0/30 D 0 >ge-0/0/2.0
* ? 192.168.2.1/32 L 0 Local
RED-VIOS1.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
A V Destination P Prf Metric 1 Metric 2 Next hop AS path
* ? 1.1.1.1/32 B 170 100 0 1 I
unverified >192.168.1.2
* ? 192.168.1.0/30 D 0 >ge-0/0/1.0
* ? 192.168.1.1/32 L 0 Local
Thank you for the advice and link!