Even if you have linear history on main (squash commits from PRs). You still have this problem if you have multiple out-standing PRs and one of them is dependent on another.
Even the email based flow presents a series of changes as a thread of email messages, so the association between changes that are related or depend on each other is maintained.
Once a patch set looks good to the maintainer, it's merged. Email clients do enforce looking at the changes as a series of diffs on a per commit basis.