I'm interested in your statement:

I myself write custom reverse proxies, and within, export custom metrics to custom collectors but in Go instead of Rust. Now I do this for a myriad of reasons but not because Nginx was written in C?

I consider my self DevOops professionally and read this statement to mean DevOps isn't as such.

There's a lot of nuance in reverse proxies. You're off to a good start with Go as the standard library gives you a very strong and battle-tested HTTP implementation as well as a basic reverse-proxy interface to build with.

Avoiding opening a can of security-issue-worms involves knowing what you're doing and depends heavily on the environment you're operating in. Internally proxying traffic between services? A cakewalk. Translating between HTTP2 or 3 to 1.1? Forwarding origin client IP safely? Sanitizing headers (and I don't mean the in-built sanitization that Go provides)? There's a lot of little things.

Tools like Nginx and Envoy strike from the opposite direction: an extensive suite of configurable tools to reverse proxy the way you need, with relative safety.

Like you, I would almost certainly prefer writing a small reverse proxy in Go over deploying Nginx.