In Mercurial, you are ideally using TortoiseHg. When you make a commit, you can quite easily choose which files or hunks or lines to commit (and which not to commit, obviously). In that sense, the GUI acts as the staging area.
For Jujutsu, there's two good options I know of:
1. Use "jj commit -i". This opens up a screen which lets you interactively select files/hunks/lines to commit. You can also pass in a "--tool" commit to use something like Meld.
Oh, and if you think JJ "forces you to work on one thing at a time" then you have really missed a lot of what JJ offers. Look up "megamerge" - I've done this, and it works well. Here's a link: https://v5.chriskrycho.com/journal/jujutsu-megamerges-and-jj...
For Jujutsu, there's two good options I know of:
1. Use "jj commit -i". This opens up a screen which lets you interactively select files/hunks/lines to commit. You can also pass in a "--tool" commit to use something like Meld.
2. Use the "squash workflow" - basically making your own staging area using jj's flexibility. I can't explain it better than Steve does: https://steveklabnik.github.io/jujutsu-tutorial/real-world-w...