Мое решение - использовать фиксированное позиционирование легенды для достижения этой цели. Не удовлетворен этим решением, поскольку перенос слов и другое динамическое c позиционирование не работает, поэтому, если у кого-то есть лучший ответ, дайте мне знать.
fig.update_layout (..., legend = dict (. .., xanchor = 'center', x = 0,5, yanchor = 'top', y = 0,36))