Not OP, but I imagine it's a couple things:
1) No clear mapping between file APIs that SQLite uses and browser file APIs.
2) SQLite uses blocking file I/O internally which is generally a big no-no for JavaScript due to it being single threaded.
SQLite is proably saving files in emscripten's virtual filesystem (emscripten's implementation of fopen() etc. by default makes them work on memory), and the sql.js API just reads and writes the file there.