You really only need dirty_ratio/bytes and dirty_background_ratio/bytes set to something lower than default. It also makes your progress bars show values closer to reality, especially when copying from fast to slow media.
Some distros already do set lower defaults, e.g. pop os:
https://github.com/pop-os/default-settings/blob/master_noble...
Bazzite: https://github.com/ublue-os/bazzite/blob/main/system_files/d...
> You really only need dirty_ratio/bytes and dirty_background_ratio/bytes set to something lower than default.
The vm.swappiness=1 was very necessary for me as well, and made as much difference as the dirties you'd mentioned.
I usually run Linus' master kernels (as I look for regressions in certain subsystems) and I know there's been some recent changes to the MM subsystem so this may explain some of the necessity for me.