First, for whatever reason, you are getting a two IPv6s on your DMZ interface (vr0). It looks like it's being autoconfigured, so either you have another router advertising the prefix on that LAN, or the rtadvd running on the box itself is actually causing an address to be autoconfed on that interface. Or it's left over from before (maybe you haven't rebooted).
Set a static IPv6 /64 address from your /48 (looks like you did that already). You need to advertise a /64 out of your /48 on the vr0 interface. Advertise the prefix 2001:470:b84a::/64 not the whole /48.
On your LAN interface (vr2 presumably), set a static IPv6 from your routed /64. Advertise your routed /64 on the vr2 interface only ("default" might mean all interfaces, but I don't know rtadvd conf file syntax since I don't run a BSD IPv6 router at the moment).
For example, set the IPv6 "2001:470:1f0f:39f::1/64" on vr2, but advertise "2001:470:1f0f:39f::/64". Set "2001:470:b84a::1/64" on vr0 (you may have already done this), but advertise "2001:470:b84a::/64" (this is /64 subnet-zero of your /48, if you had a 4th LAN, you could use, say 2001:470:b84a:1::/64 on it, :2:: on a 5th, etc, etc. You have 65,536 subnets to work with on your /48).
Ensure that your router interfaces don't autoconfigure by doing whatever is needed in rtadvd.conf file. Use statics. I suppose there might be a way to have them autoconfig and have rtadvd still announcing on them, but that seems a bit of an "unnatural act" to me.

