What I’m asking is whether your proxied service expects /admin to not be there. Caddy will preserve the path of the original request unless you strip a prefix using a rewrite. The handle_path directive does that.
Please read this wiki on the topic of proxying using a subpath:
I generally recommend using a subdomain instead as it avoids most of the issues with proxying to another service that doesn’t expect to be served under a subpath.