I think a large portion of it is that governments/institutions/whatever don’t want to pay the large amount of money it would take to replace all signage/software/etc.
The classic “high short term costs for long term benefits” vs. “no (direct monetary) short term costs for ‘future me’ problems”.
If both Caddy and Forgejo are running in Docker containers you could do SSH Container Passthrough.
Link is to Gitea docs but should work fine with Forgejo.
It’s a Shure SM57