The actual notification telling you there is a message shouldn't contain the content if its sensitive, it should only carry an ID to said message, and im certain this is what signal does. Thats like the most utter basic thing about notifications.
Once that notification arrives, the system decides what to show you after fetching the message from the ID in the background. You can opt to keep that private or show it.
In this case if you opt to show it, it leaks.