I have managed to get it working by using a different subnet for the LAN - I just made one up and used 2a01:xxxx:x:yyy::/64 instead of 2a01:xxxx:x:xxx::/64 for the WAN. I also had to change the Firewall / NAT / Outbound to Hybrid and add an additional rule for the LAN subnet 2a01:xxxx:x:yyy::/64.
Once I made these changes my PC got a new IPv6 address 2a01:xxx:x:yyy:d60:32fa:a3f8:f040 and I was able to ping ipv6.google.com:
Pinging ipv6.l.google.com [2a00:1450:4009:80c::200e] with 32 bytes of data:
Reply from 2a00:1450:4009:80c::200e: time=3ms
Reply from 2a00:1450:4009:80c::200e: time=3ms
Reply from 2a00:1450:4009:80c::200e: time=4ms
Reply from 2a00:1450:4009:80c::200e: time=3ms
Ping statistics for 2a00:1450:4009:80c::200e:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 4ms, Average = 3ms
So I guess I need to chase Cerberus for my official LAN IPv6 subnet rather than using a random made up one? I would then have one subnet for WAN and a different one for LAN?
PlusNet FTTC 80/20 + Cerberus FTTPoD 330/30