Now part of the issue is probably that WSL would sometimes hang and zombify, and could only be restarted by restarting the computer (in fact it typically did this any time the laptop woke up from suspend). So I didn't always get to cleanly shut down WSL. Additionally, I didn't have choice of filesystem— all my WSL guests ran ext4.
The issue seemed to be that sometimes files which the guest believed were written to disk were not actually written to the VHD file backing it, or the VHD file's changes were not actually written back to the physical disk. So sometimes upon a reboot (or after `wsl --shutdown`, which doesn't attempt safe shutdown IIRC), I'd lose files.
Generally it was only system files, and was recoverable by mounting the VHD for the guest to a new guest and repairing the OS in the worst cases, but sometimes did render the guest unbootable.
When I Googled the issue, I found people reporting similar problems on GitHub and Reddit going back years. On bare metal, the same distro I was running features atomic upgrades (on all filesystems), has survived power outages during system upgrades, etc.