You actually have less visibility into your bisect because your bisect step is much larger than in a stacked diff. You can’t distinguish if it was one of N refactor a that had a typo or if it was one of the 3 logical changes you made.
I’ve never plan out my commits and I manage to have well-structured commits. I use a mixture of git add -p and noticing when I’m needing to do something else and being diligent. It’s a skill for sure, but I think it’s one that anyone can get good at with practice and mentorship.
The easiest way actually to start this is to have a single giant WIP commit. Then git reset HEAD^ once you are done and now start committing piecemeal. Once you do this enough times you’ll develop a sixth sense and start making the interim commits on the fly and use fixups for mistakes that you autosquash. That’s what I do 90-95% of the time and the rest of the time I might have to do some rewrites or I might get some merge conflicts with myself (if I change a preceding commit that a subsequent commit changes). Here’s the thing though. If you’re being diligent about your commits in PR land and making sure each is reviewable (which really is what you should always do regardless), then you’ve already done all the work. Representing it as a stacked diff in the review tool just makes it easier to land piecemeal and avoid situations like “well your PR had other pieces but I needed this one piece from it so I extracted it into its own PR and fixed the issues I had with it. Sorry about the merge conflict”.
Stacked diffs aren’t necessarily the end of where I want review tools to get to. What I really want is to be able to generate a hydra where I might merge in entire stacks. If diffs sit in review long enough, other things I’m working on start to depend on previous commits in other stacks (eg cool feature X). I want to be able to rebase the entire stack and have the tools work correctly. Unfortunately that’s not possible with any tool I’m aware of and stacked diffs still suffer from rebase hell (Facebook internally had a GUI tool that made this slightly more bearable by letting you drag branches around visually). However, this piece requires support from both review tools and the SCM system (so I can rebase an entire body of work without doing each piece manually and resolving BS conflicts multiple times)