The point is exactly that it means you can selectively retrospectively add virtual columns, optionally backed with an index, as you decide which fields you need more structured access to.
The example you're giving is in principle the same as the "ALTER TABLE ... GENERATED ALWAYS AS ... VIRTUAL" example + a subsequent index in the Sqlite example.
CREATE TABLE t1 (data JSONB);
INSERT INTO t1 VALUES ('{"column1":1234}');
CREATE INDEX t1column1 ON t1(data->'column1');
SELECT * FROM t1 WHERE data1->'column1' = '1234'; // not sure about data type