Hello Derek!
Maybe you have a custom NSG and an AKS-managed NSG applied to your resources. For example, one NSG assigned at NIC level and the other at subnet level, or vice-versa. The AKS-managed NSG will get the rules automatically create to allow the connectivity to the public IP used to expose your Kubernetes Service Load Balancer type, but the custom one needs to get the rules added by you.
You can go to the VMSS in infrastructure resource group, then click on Networking and see there if one or two NSGs are applied. Feel free to share a screenshot if you are not sure how to read the information there.
If you have two NSGs, then most probably you need to configure the custom one to allow the exposure of the public IP used to expose your Kubernetes Service Load Balancer type.
You can refer to this link for how to tackle that.
If that is not the case, just to isolate the issue, please expose another application via a Kubernetes Service Load Balancer type by using the next steps:
kubectl create deploy nginx --image nginx
kubectl expose deploy nginx --port 80 --type LoadBalancer
kubectl get svc #Wait for the public IP of "nginx" service to be assigned and see if for the nginx application works
If it works for nginx, then the WSGI server may not be functional.
I hope this is helpful. If any clarification needed, let me know and I will do my best to answer.
Please "Accept as Answer" and Upvote if it helped, so that it can help others in the community looking for help on similar topics.
Thank you!