Dynamic temporary IPv6 addresses conflict with SPF rule

Sorta but not really. This is by design. Take a look at Why is nsd service listening on private IPv6 address? for why we do this.