Pi-Hole and NGINX - Login Failing

The issue I am facing:

Login perfect when accessing from the LAN, fails from the WAN

Details about my system: 2 machines

LAN DHCP is on my GL.iNET AXT1800 (Slate) router, which forwards DNS upstream to my Pi-Hole (Machine 1)

Machine 1. Ras Pi 3, Ras Pi OS Bookworm Lite 64-Bit on SDHC Micro.
NGINX reverse proxy
RPi-Monitor on port 8888

Machine 2. Raspberry Pi 4, 8GB, Ras Pi OS Bookworm Lite 64-Bit running on 16GB USB 3.0 stick.
Pi-Hole v6, fully updated.
Cloudflared DNS over HTTPS listening on port 5053
RPi-Monitor on port 8888

What I have changed since installing Pi-hole:

Pi-Hole upstream DNS set to 127.0.0.1#5053
Pi-Hole management port number changed to 8000

Here's the issue:

I can reach the Pi-Hole Management GUI page at LAN address http://192.168.XXX.XX:8000/login. Entering my password logs me in and everything works perfectly. Pi-Hole is fully functional and operates seamlessly with Cloudflared DoH upstream.

I can reach the Pi-Hole Management GUI page from the WAN at http://my.domain.com which NGINX forwards to http://my.domain.com:8000/admin/login. When I enter my password, login begins and the progress bar moves from left to right but never makes it to the end - and login fails.

Here's my NGINX configuration file (Formatting has not translated too well from the basic text)

server {
    listen 80;
    server_name my.domain.com;

    # Redirect root / to /admin/
    location = / {
        return 301 /admin/;
    }

    # Proxy only /admin/ to Pi-hole
    location /admin/ {
        proxy_pass http://192.168.XXX.XXX:8000/admin/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

I don't think this is an NGINX issue as NGINX is merely a route to the Web Management GUI and does not affect content, as I understand it.

You should proxy pass directly to Pi-hole's webserver address (not /admin path) but if you insist on this setup then you will also need to proxy /api as all the data and authentication goes through it.

Search for nginx reverse proxy v6 or something similar.

These are some examples: