Problem resolved. You're right the config wasn't quite right.
If people are using Kubernetes Ingress controller here's the key parts:
metadata:
annotations:
nginx.ingress.kubernetes.io/add-base-url: "false" <- I had this set to true
nginx.ingress.kubernetes.io/configuration-snippet: |
rewrite ^/myapp/(/.*)$ $1 break;
The rewrite is all you need. Set base url to false