自分の質問に答える...
画像を BASE64 文字列として埋め込むことができます。例えば、
myImg.setAttribute('src', "data:image/png;base64,iVBORw0KG........");
この方法では、res:// プロトコルを使用する必要はありません。実行時に (拡張機能の読み込み中などに) 画像を BASE64 でエンコードするか、事前に (この例のように) エンコードすることができます。そして最も重要なことは、これが HTTPS でも機能することです。