Tried all your ideas, came up empty. Thanks for the suggestions.Hmmm....the last change to ipv6 was the radvd update back in April....and @dave14305 tested after that change. I wonder if Comcast changed something on their end recently? Cox ipv6 is still working fine for me.
One quick thing to try is to set the 'Prefix delegation requires address request' option to Yes (last option on the ipv6 page)
This might have some legs unless I've gotten myself way too far into the weeds...
First I stopped dhcp6c. Then I ran:
dhcp6c -c /etc/dhcp6c.conf -f -D -T LL eth0
Jul/16/2020 23:03:27: copyin_option: get DHCP option IA address, len 24
Jul/16/2020 23:03:27: copyin_option: IA_NA address: 2001:.......... pltime=251119 vltime=251119
Jul/16/2020 23:03:27: dhcp6_get_options: get DHCP option IA_PD, len 72
Jul/16/2020 23:03:27: IA_PD: ID=650136, T1=0, T2=0
Jul/16/2020 23:03:27: copyin_option: get DHCP option status code, len 56
Jul/16/2020 23:03:27: status code: no prefixes
Jul/16/2020 23:03:27: dhcp6_get_options: get DHCP option DNS, len 32
Does this mean Comcast just isn't giving me a prefix to begin with? That would explain why dhcp6c cannot pass the prefix to br0 and radvd cannot give my clients global ipv6 addresses (if this is even how it's supposed to work.....).
 People online report that sometimes resetting the DUID helps (pfsense forums), can we just rm /var/dhcpc_duid and it gets regenerated? Or will it always be MAC address based... I guess I could factory reset my router and assign it a different mac address in the startup wizard?