It might as the hub will be allocating the address rather than the device self-allocating.
For IPv4, you can forward ports based on either device name, or IP address if the device has a static address. For IPv6, you can only create a pinhole to the device name as the IPv6 address is dynamic.
If stateful, the hub allocates the address based on the prefix using DHCP, for stateless the device self configures the address based on the prefix.
Are you sure you are correctly creating the pinhole?
also interested to get an answer to this as I'm trying to do something similar.
setting a pinhole to an internal device does not let traffic through the router.
I'm using ssh to test the port, so created an ipv6 pinhole to the device on the lan side. But no joy in trying to ssh to the device.
SSH to the device ipv6 GUA permanent address on the lan side does work.
I'm no networking professional, but this seems like the BT HUB pinhole doesn't work.
by the way DavidH7 in case it is of help, I use a cron shell script running on a pi that emails me when the router IP address gets changed by BT. This is v helpful so I can update access to the pi from external services manually.
I don't think you've given quite enough information to work out what's going wrong.
Is this a Linux box that you're trying to create a pinhole for? If so, what does "ip -6 addr" show? Are you trying to create a pinhole for an IPv6 address that has the "noprefixroute" attribute? If so, that's not going to work, and it's not the fault of the Smarthub; such an address is not routable from the outside world.
If that's not what you're doing, then I think we need some more detail from you.
If you're using Windows, then I'm sorry, I can't help.