The open command cannot be used until the tables it uses exist and have entries for the table that is to be opened. (These minimum tables are pg_class, pg_attribute, pg_proc, and pg_type.) To allow those tables themselves to be filled, create with the bootstrap option implicitly opens the created table for data insertion.
Thus, the structure of the postgres.bki file has to be:
create bootstrap one of the critical tables
insert data describing at least the critical tables
Repeat for the other critical tables.
create (without bootstrap) a noncritical table
insert desired data
Repeat for the other noncritical tables.
There are doubtless other, undocumented ordering dependencies.