Your default route on your Ubuntu Server needs to be the inside interface of your IPv6 router.
To prove this, leave your Ubuntu server set to dynamic. Once, you have an address, look at your routing table. Look at your default route...whatever IP address that points to should be the one you use for your static IP, which should be the fe80 address of the Inside interface of your router
That didn't seem to work. Here's what I got from the route:
2001:470:aaaa:aaaa::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::21a:92ff:fe83:66f2 dev eth0 proto kernel metric 1024 expires 0sec mtu 1500 advmss 1440 hoplimit 4294967295
.. and so I added the following to /etc/network/interfaces
# IPv6 Configuration
iface eth0 inet6 static
pre-up modprobe ipv6
address 2001:470:aaaa:bbbb::5
netmask 64
gateway fe80::21a:92ff:fe83:66f2
And I get address unreachable/no route to host errors.