That's effectively what I do. I have my dev branch, and then I make separate branches for each PR with just the commit in it. Works well enough so long as the commits are independent, but it's still a pain in the ass to manage.
I can see merit in your suggestion, but it does require some discipline in practice. I’m not sure I could do it.