How did you add index to columns in SQLite?
Did you do it via indexes on JSON expressions?
I’d say that the problem might be that when querying data, Cockpit executes custom function on each row instead of using database operations - so indexing doesn’t have any effect on queries.
MongoDB driver uses native queries so theoretically performance should be much higher.
MongoDB configuration is described in docs.
You could try my SQL driver addon but I must warn you that it’s not properly battle tested on production environments.