Why don't messaging apps like Telegram use P2P, wouldn't that make it much harder to "block" people from using it, if the connection is directly between two devices?
Leaving aside the fact that p2p is certainly not feasible in mobile devices, something being p2p or federated does not improve the service's ability to evade censorship.
How would you block a p2p network like TOR? Just ban all the entry points. You can use proxies to access those, but then you can use the same proxies to access a centralized service.
How do you ban a federated network like Matrix or e-mail? Ban all the servers you can find, then you're back to proxies.
iOS does not allow apps to be kept alive in background at all. On Android you can (mostly) keep an app open in background, but you should not, as it affects battery life.
Of course, another issue is that no device is always online, so you can't base the system entirely on devices communicating with each other peer-to-peer. You want to at least have supernodes. When you do, it effectively becomes a "dynamic federated network".