Non importa, ho trovato il problema.
Il pianificatore di query era più intelligente del mio set di test giocattolo; visto che la maggior parte delle righe corrisponde alla query, è stata eseguita una scansione sequenziale.
Se provo con ilike '%nd 0%'
invece, nessuna riga corrisponde e EXPLAIN ANALYZE riporta Bitmap Index Scan on test3_value_trgm_idx
correttamente.
Quindi, la normalizzazione del JSONB originale in questo modo funziona. Ma proverò anche a trovare e confrontare in un altro modo, usando espressioni regolari su TEXT
, per evitare di dover creare e mantenere un'altra tabella.