Problem solved.
I ended up removing the micro SD card, creating a bit-by-bit image of it, and writing it onto a new card. I inserted the new card into the Libra 2, and it hasn’t frozen again since (it’s been over a week now, and before it used to reboot several times a day).
Since I cloned the original card, I assume its contents weren’t corrupted, and that the issue was simply with write operations failing. In fact, one of the things that happened right before the freezes/reboots was that I could no longer highlight text, and when I re-entered the book, everything highlighted in the last reading session was gone.
Thanks for your help, especially to DNSB.