Wouldn't it have been simple/easy to define a facade in front of sqlite as the standard?
Like some basic SQL select/insert/update/create table/drop table syntax and semantics? In a way such that advanced/specific features are not available in order to not be relied on and then let all browsers just use sqlite as implementation detail?
How much of a facade would you have had to build to be useful to the point where you run into the same problem? It seems like it would be very very easy for implementation specific behavior to leak this way.
At least with IndexedDB there's a large enough impedence between SQLite and IndexedDB that there's far less chance of details getting through.