This one is kinda tricky. It is kind of a bug, but it is essentially cause by signals behaving as they should.
All data in your toddle apps is stored in something called signals. Signals can notify other signals when their data changes.
This is e.g. how APIs know that they need to refetch data when a variable is set, and how toddle knows to update the UI when data comes back from an API. It is all signals chatting with eachother.
In order to make signals performant, they need to only fire when the value they hold is actually changed. So if the value of a signal is set to the same value it already has, it does not notify anyone.
In your example the variable never changes. the input field does, but the variable stays. so when you set it to and empty string the signal does not try to update the input, because that is the same value it already had.
You can fix this by binding the input to the variable, that way the variable will be update everytime the input changes, and it will correctly reset to "" on enter.
We do want to fix this so that the input will always match what is in the variable no matter what, but It is not a change that we can just roll out without some risk of breaking production applications. We are working on a new versioning system where we can create versions of the runtime, and have users opt into new versions. That way, in case of potential breaking changes you will be able to test your app first.