My death was the fact that table lock acquisition is not FIFO.
https://sqlite.org/forum/forumpost/8d7d253df1b9811b4b76c2c4c26ac0740e73d06e9edfeb2ab8aabaebd899cbc8
Thankfully I can at least have FIFO in a single process by wrapping every write transaction in a mutex.
P.S. can't wait for turso's SQLite replacement to have feature-parity and sqlx support.