Signal does in fact distribute an APK that isn’t dependant on Play Services/FCM on their website. Uses a websocket, so not the most elegant way I guess, but oh well.
It’s rather hidden, which I think is disappointing. But it exists. Updates itself, too.
I use DivestOS, so Google Play Services and all that comes along with it isn’t there in the first place