At the moment you need to know to include the additional roll between the STIX frame the HPC frame e.g.
roll, solo_xyz, pointing = get_hpc_info(vis_tr.start, vis_tr.end)
...
header_hp = make_fitswcs_header(bp_image, center_hpc, scale=[10, 10] * u.arcsec / u.pix,
rotation_angle=90 * u.deg + roll)
as the function is called get_hpc_info it should really already have have it included so the code would become
roll, solo_xyz, pointing = get_hpc_info(vis_tr.start, vis_tr.end)
...
header_hp = make_fitswcs_header(bp_image, center_hpc, scale=[10, 10] * u.arcsec / u.pix,
rotation_angle=roll)