Pi-Hole works everywhere except Android Phones

I have restarted the device as well as cleared Chrome's DNS cache.
I'm using a Samsung Galaxy S7 with Android 7.0

I too have restarted the device, flushed DNS cache via chrome flags and cleared chrome app cache

On Android, you can check DNS servers assigned with:

getprop net.dns1
getprop net.dns2

But need terminal/console for that.

Ps. pi.hole/admin works fine on my stock Nexus 7.

Hmm interesting, when I run

getprop net.dns1

It returns an IPV6 address

getprop net.dns2

Returns my pihole address in ipv4 format.

The dns1 address is not the IPV6 address of my pi.

Both of those return IPv6 DNS servers set by my ISP in my router. There doesn't seem to be a way to change these in my router's settings. Does this mean Pi-hole will never work on my Android device?

It also seems strange to me that my Android device is getting its IPv6 DNS from the router, while my computer is correctly setting its IPv6 to the Pi-Hole's IP

You said you were using Pi-hole for DHCP? Did you make sure to turn off the router's DHCP? Do you have IPv6 connectivity? If not, run pihole -r and set Pi-hole to only use IPv4.

See the above comment.

The router has the option to disable DHCP for IPv4, which I've done. For IPv6, the only options are "Use DHCP Server" or "Auto Config," and neither of them has fixed my problem.
The IPv6 link you sent reported a 17/20, where the issues are "ICMP: Filtered" and "Hostname: None."
Should I try the Pi-hole with only IPv4?

Yes, try only IPv4 on the Pi-hole.

I use pihole as a dhcp server.
I have disabled it on my router.

According to IPV6 test I do have connectivity, yes.
Should I still reconfigure to use only ipv4?

Run pihole -d for a debug token. It might be handing out the wrong IPv6 address.

Token is zw87tkeqoj

123456

Does this match the value of net.dns1? 2a02:...:d1d0 (for more hex characters to compare with, check IPV6_ADDRESS in /etc/pihole/setupVars.conf)

Nope.
They dont match

Edit

If i run ifconfig I seen to have 6 entries for inet6 addr

What does it start with? Or if you want, you can share the whole address.

It starts with fdb3

Also see above edit...I seem to have 4 ipv6 addresses!?

Yes, IPv6 often has multiple addresses due to how it works (differently than IPv4 in many ways). I myself haven't dabbled much in it, but addresses that start with fe80 are local to your network, while others may be routable by the internet, and some are more permanent than others.
On the Pi-hole, what is the result of dig @ip_address doubleclick.com where ip_address is the address in net.dns1?

pi@raspberrypi:~ $ dig fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com

; <<>> DiG 9.9.5-9+deb8u11-Raspbian <<>> fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23149
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;fdb3:2b39:77fe:0:9221:6ff:fe7c:5078. IN        A

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 30 01:54:37 BST 2017
;; MSG SIZE  rcvd: 53

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38965
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;doublelick.com.                        IN      A

;; ANSWER SECTION:
doublelick.com.         599     IN      A       72.52.4.119

;; Query time: 52 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 30 01:54:37 BST 2017
;; MSG SIZE  rcvd: 59

Don't forget the @!

dig @fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com