Prosody is probably your best bet. It’s modular, easily configurable and is basically fully compliant with the XMPP specification. For your bridges however, I’d reccomend not going fully into XMPP because there are very little bridges available for it. As for dockerization, apparently they are not currently updating their dockerfiles, so this is another thing to take into account.
Welcome – Prosody IM

Prosody is a Jabber/XMPP server written in Lua

Unfortunately the whole point of my system is bridges/transports. I don’t even use Matrix itself, I use it as a centralized messenger.
Maybe try Matterbridge
GitHub - 42wim/matterbridge: bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)

bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API...

GitHub
Doesn’t matter bridge work by “adding a user” to rooms, vs just your user?
I haven't actually used it, so I wouldn't know
Or Slidge
slidge.im — Gateways from XMPP to Other Networks

Slidge is a chat gateway library for XMPP built in Python, and a set of gateways for other networks.

Promising, would need to supplement GV and Signal, but this gets me halfway there, thanks.