In noStrudel, it looks like it's just the minimum default reaction. Even if you delete all the quick reacts, you still have the + (thumbs up) and - (thumbs down) reactions.
What's interesting is that I used the thumbs down earlier, and when examining other clients, it doesn't register as a downvote and doesn't even show up in the list of reactions. I'm not quite sure if that's just due to the client itself or if something else weird is going on.
Some clients (amethyst in this case) shows a generic heart, but if you expand you can see all the reactions.
So it I think at a protocol-level, (all) reactions are built-in (whether it's an emoji, or even a GIF), it just depends on how some clients display them. See below.




Very interesting, it definitely must be per-client. Here's what I see on Primal:

Thread collapsed
Thread collapsed