After making some changes to some of my tests, the tests started reproducing the issue. It was actually, a different call than I originally thought.
adding @Transaction to the doa entry solved the issue:
so it now looks like:
@Query("UPDATE cursor_position SET cursorPosition = :cursorPosition, cursorLength = :cursorLength WHERE documentId = :documentId")
@Transaction
abstract suspend fun updateCursorPosition(
documentId: String,
cursorPosition: Int,
cursorLength: Int
): Int