perhaps I’m misunderstanding your workflow here… is there a reason you need it to work with both matplotib and PyQtGraph backends?
If you’re OK just picking one, I’d say go with matplotlib, and do
fig.set_size_inches(whatever_size_you_want)
fig.savefig(filename)
plt.close(fig)
That should allow you to get the saved images to be whatever size you want.