This was definitely a little frustrating. Matrix protocol does have stickers technically, I've been following that PR since its inception. But when I last used it in practice, admittedly a few years ago, the UX was lacking. Adding and posting stickers was _not_ straightforward, in fact adding new stickers was restricted somehow. Not sure how it works now, and maybe that's just inevitable with a decentralized protocol.
It’s not inevitable – the sticker packs (as currently implemented) live on your homeserver. So in a sense, it is decentralized already, and it’s only a matter of designing and building an interface to manage those packs (and hopefully making stickers link back to the packs, for better discoverability).
For now, you can override which server to use for the stickers. There’s an implementation that downloads Telegram sticker packs (but you have to specify which packs you want before deploying it).