Issues with DataStores saving when player disconnects

I have an issue in my game where, if players disconnect from the game, either through something on ROBLOX’s end or their internet going out, many times, they will have their data corrupted, so the next time they join the game, their stats will either be wiped, or a very old edition of their stats will load in.

Yes, I know about ProfileService, and it is something I will definitely use for future games, but short of resetting everyone’s stats to switch over to this, I have to deal with my choice in DataStores.

For reference, player stats are supposed to be loaded from DataStores every time a player joins, and are supposed to be saved every time a player leaves. In addition, every 5 minutes, the server autosaves people’s stats at that exact moment, but it appears whatever issue happens when a player disconnects wrecks that.

For reference, when a player leaves, I use :SetAsync to change their saves, and not :UpdateAsync, would that be the issue?