Firefox sync clearly requires a central server. For any kind of peer to peer syncing to work you must have the machines on at the same time and accessible. And then there is the issue of NATs, including CGNATs. To work reliably these almost always have to have some kind of relays anyway (Tailscale's DERP, Syncthing also has relays).
For the experience an average consumer expects, you at a minimum need a central short-lived cache.