I have just registered to write the same thing :)
I think that must be the problem. It's not a very easy to discover feature and I was also pretty pissed about losing my messages — until I discovered the drafts.
I guess the idea was that once you exit the input box Zulip doesn't know which thread you are going to reply to — and in order to avoid sending messages to wrong threads it just clears the box (yet keeps your text). Makes sense in the threaded model, but could be highlighted a bit more.
We have tried using Zulip at my company and the main complaint has been UX.
We know this is a real UX problem, and we're working on it.
Before Zulip 4.0, there was a "Saved as draft" notice that appeared on closing the compose box, but empirically, that was invisible to some users, who had the terrible experience of fearing their message was lost.
The 4.0 release replaces the notification with a darker and better located notification, which will likely help some users. But we'll only know for sure whether it's still invisible to some users with time.
In any case, we're planning several more changes to improve the drafts user experience that didn't make it into this release.