After a lot of digging I now understand the issue.
The issue is that loopback is not allowed in docker by default which means that if you setup Nginx Proxy Manager to have its on ip when begin hosted from unraid and try to proxy a service/app also hosted in unraid but using port forwarding or a different network.
A way to fix this is to make your Nginx Proxy Manager join the other service/app network to do so edit your Nginx Proxy Manager config,
go into the advanced view and in post arguments enter the following `&& docker network connect <network> <container>` replace the <network> with the network name of the service and <container> with the name of your Nginx Proxy Manager container.
For example here is my config:
&& docker network connect immich_default Nginx-Proxy-Manager-Official
now that your networks are connected you can reference the service by the host name (often the container name not sure if this is true 100% of the time)
credit:
As an extra note you could create a new network in docker and have all your containers join it, then have your Nginx Proxy Manager also join that docker network and it should have access to all the services/apps that are in the network.