SQLite cannot create table indexes on virtual tables, as it does not control the data coming from these tables.
On the other hand, it uses the existing index and our implementation use the index created within the NSF. These indexes (also named collations) are created when the columns are sorted. Then our driver takes advantages of them.
In short, if you have a table A that you want to join to a column of table B, make sure that the column in B is sorted (primary sort order, or secondary).
The driver has an option that you can set programmatically (see the demo db and the option checkboxes) that will report the missing indexes when executing a join.