I cannot currently test using Starlink, but betwen my two CHRs running 7.15.2, the gre6 tunnel works without any issues, even without specifying
local-address. So as usually in such cases, sniffing is the way to find out what is wrong. Assuming that keepalive is enabled in your GRE6 tunnel configuration, running
/tool/sniffer/quick ipv6-address=2a0d
1e00::/40 ip-protocol=gre on both hEXes will show you whether there are any attempts to send the GRE keepalives. If you can see the packets to leave through ether1 on one router but never to arrive to the other one, it means that Starlink filters GRE; otherwise there must be some issue with firewall or routing.