I do not know Suricata
but OpnSense firewall aliases with dynamic IPv6 prefixes DO work
BTW: You cannot use a firewall / router to filter any traffic that is on the same LAN / network / collision domain as it does not pass the router at all.
1. Find out which IPv6 prefixes your ISP assigns to you. You can look them up in their autononous system (AS). All of the /56 prefixes must be from a larger prefix they can use. You can then take that larger prefix for your rules. This assumes that the firewall rules on the WAN interface still take precedence, otherwise your ISP "neighbors" could bypass your firewall.
2. If you absolutely must use IPv6 for internal traffic, assign ULAs, which are the closest equivalent to RFC1918 networks.
I only have one LAN and don't even make use of VLANs. It's a very simple setup. Hence I never saw the need to use ULAs and just use the link-local IPv6 addresses (fe80::/10). But I can't force my devices to only use the link-local addresses to communicate. I also added a new user defined rule specifically for this.
For now the only problem I have is that I can't access my OPNsense's web UI properly anymore. It loads extremely slowly and most of the time not even the whole website. I can't figure out why that is.
Then you do not need a bypass rule at all, do you? Essentially, the user-defined rule is there to keep Suricata from inspecting the local traffic, avoiding to slow it down. But "local traffic" over the firewall can only occur between different interfaces. If you have only one, there is no need for optimization.
Is that also Suricata-induced? If so, I suggest adding the RFC1918 rules as well, as you probably access the web UI via IPv4.