They're not willing to route a /64 to you?
Kind of. My understanding is you want to know if you can just accept
the /64 traffic, and simply pass it through the firewall, while it's
acting as a NAT for IPv4 traffic. My inclination is "no, that's not
possible." I suspect it can be done though.
I think you could redirect v6 traffic from the external interface to
the internal one. My concern is that you bypass the firewall. You may
want to simply bridge, but I'd filter IPv6 just as much as IPv4.
brconfig(8) would configure the bridges, but I believe you'd be pretty
much screwed on the routing and NAT once you do that.
You could bridge between the external interface, an internal tun/gif,
and the internal interface, then route all v6 traffic to the tun/gif.
it'd require some interesting work with route(8), though.
Just a thought, you could set up a non-bridging "route" label in pf,
forwarding all IPv6 traffic to a bridged "virtual" interface with the
internal interface. It's horribly complex, even in just thinking it out.