SQLite Forum

update-from on without rowid virtual tables
The estimatedCost field is found in the original virtual table interface, so it probably takes precedence in finding a total cost estimate.

The output fields are initialized to (SQLite Release 3.24):

pIdxInfo->estimatedCost = SQLITE_BIG_DBL / (double)2; // 4.99999e98
pIdxInfo->estimatedRows = 25;

So not changing estimatedCost will tend to discourage using this particular plan.