Logseq has an Android app and clients for the usual desktop platforms. It stores as .md files. It meets your requirements. I’m not sure why you’re focused on Firefox support?
One I have my eye on is Silverbullet.md. the creator recently promoted it here and it has some nice ideas. It’s a web app that you self host. Behind the scenes everything is stored in .md files.
This doesn’t exactly match your goals, but you may be able to adapt it or take pieces from it.
I have containers running on two subnets:
Subnet 1 has a DNS server, which resolves all of my services to IPs on either subnet.
I have Tailscale set up on a machine as a subnet router (directing to Subnet 1).
Result:
This is nice because my apps don’t care which network I’m on, they just use the same URL to connect. And the sensitive stuff (usually management tools) are not accessible remotely.
It’s also ridiculously simple: Only one Tailscale service is running at home.
This does not solve your issue of broadcasting vs not broadcasting, though. There’s probably other things missing as well. But maybe it’s a start?