I got this working but I can't remember fully all the steps.
My screenshots are provided and here is the configuration file referenced in one of the screenshots.
interface igb0 {
send ia-na 1; # request stateful address
send ia-pd 1; # request prefix delegation - LAN
request domain-name-servers;
script "/var/etc/dhcp6c_wan_dhcp6withoutra_script.sh"; # we'd like nameservers and RTSOLD to do all the work
};
id-assoc na 1 { };
id-assoc pd 1 {
prefix ::/60 infinity;
prefix-interface lagg0.20 {
sla-id 0;
sla-len 4;
};
prefix-interface lagg0.30 {
sla-id 1;
sla-len 4;
};
prefix-interface lagg0.40 {
sla-id 2;
sla-len 4;
};
prefix-interface lagg0.50 {
sla-id 3;
sla-len 4;
};
};
This gives me a /60 prefix and then I have a LAN (lagg0.20), DMZ (lagg0.30), IoT (lagg0.40), and GUEST (lagg0.50) interfaces and of course my WAN is igb0.
You also have to configure each interface in pfSense with IPv6 as a Track interface pointed to the WAN and for each SLA-ID you give it to that corresponding interface. So LAN has WAN as track interface and it's ID is 0.
I also had to configured DHCPv6 Server & RA for each LAN in pfSense as well as reflected in my screenshots. I didn't change much but ensured each was configured for a /64, I put in a range (not used for stateless), and then on the RA side set it for Stateless as shown.
What I do not remember is how to generate the DUID-EN but I know its based on the BGW-210 something and my device's serial number turned into HEX. If someone can figure that out again I will document it on github somewhere.