Chrome's implementation of IndexedDB is unreliable, unfortunately. I'm guessing it hasn't received much attention because it's not generally detrimental to web apps.
After dealing with this and researching it over the course of the last 1.5 years, I've identified and implemented a handful of measures that have noticeably reduced incident reports, but I still get on average 2-3 reports per month with 250k MAU... that's low but remains intolerable. Also, anecdotally reports spike whenever an extension update is pushed out.
It appears at this point my last remaining options for protecting user data are 1) cloud storage and 2) automated local backups. The former is in the works but it kinda sucks that this has to be a paid feature to offset costs and will therefore be inaccessible to a majority of users. The latter (scheduled backup to extension storage) was recently implemented and seems to be effective, but this was in no way a trivial effort and a difficult thing to get right.
Sure would be nice if Chrome had native IndexedDB data recovery for extensions.