These are actually really important to include by default because if you have an issue in production and you need an inside look right away, being able to turn these on at any moment is valuable.
No; all standard directives are technically “plugins” too, so all directives have the same performance benefits.
The point of having plugins is so the Caddy code base doesn’t get too bloated; but Caddy started off with most of these directives already in core and they’re pretty mature by now. Proxy is also one of the most-used directives and it definitely needs to remain standard. So does fastcgi. As it is, it would probably be more work to move these out of the Caddy repo and maintain them separately than it would be to just leave them there.
I also don’t think there’s much benefit here in reducing the size of the binary (by a few bytes or maybe a kilobyte or two? I dunno – wouldn’t be much) considering the cost of maintaining these separately.
I actually lean the opposite direction. I would rather have more functionality included in the core distribution in order to not need to manually select them.
Makes it easier for people using stock docker images or os packages that way too.