Years ago, when I first started using a HE-tunnel, it didn't take long before I disabled IPv6 on my wireless network because Android (v5 on a Galaxy S4 back then) was being a pain in the butt. I don't remember what the problems were exactly, only that when IPv6 became active there were problems.
Not too long ago I switched from a /64 to a /48, giving each VLAN it's own /64, this is when I decided to give IPv6 on my wireless network and current phone (Android 8, Galaxy S7) another try ..... and again problems.
The internet connection on my phone varies from working normally, to longer load times, the occasional timeout and sometimes stuck on loading. A restart of the apps in question usually solves that, temporarily.
But again it's just Android being problematic. Every other IPv6 capable (virtual) device in my network, with Windows 10, various Linux distributions and even an iPad with iOS 5, do not show problems at all. Well, that's not entirely correct, ESET Internet Security was blocking ICMPv6 (which IPv6 test websites showed) but I didn't even notice that until I checked those websites.
Since my phone is not rooted, the options to troubleshoot this are somewhat limited, plus Google doesn't help much.
When Googling "Android IPv6 slow", I kept running into two possible solutions: Disable IPv6, which means disabling it on the entire VLAN because I cannot do that on Android without rooting my phone. The other was adding the RDNSS option in radvd.conf to specify an IPv6 DNS server, which I have, didn't make a difference.
Note that for some reason, I cannot find apps that are capable of displaying the assigned IPv6 DNS server on Android, just IPv4, but the PiHole log does show DNS requests from my phones IPv6 addresses, so it's picked it up.
As for testing, I tried both
http://ipv6-test.com and
http://test-ipv6.com. The 2nd gives a 10/10 score, though warning it's not a native IPv6 connection. The 1st 16/20, ICMP is reported as filtered, though sometimes it's reported as "not tested". On other devices the score is 18/20, with "Fix your DNS configuration" as the only reported issue.
When trying
http://ipv6-test.com/pmtud/ , which reports "no PMTUD problems detected" on non-Android devices, the results vary. Right now it reports "no PMTUD problems detected", but minutes earlier it reported problems with values above 1300, which for some reason I cannot reproduce right now.
So... does anyone have any idea's about how to troubleshoot this? From the limited amount of testing I could do, it looks (to me) it might be an intermittent MTU issue. Normally that indicates firewall issues, but if it was nftables on my router-pc blocking it, all devices would've been affected. Plus, the router-pc's firewall is set to allow all ICMPv6 packets.