Depois de tentar muitas coisas, notei que a função to_sql não estava gerando a sintaxe correta do MySQL para funcionar. Também com a abordagem de mudar para wkb o MySQL ainda não reconhecia essa coluna como geometria se eu deixar o texto como está (veja foto na pergunta).
O que funcionou para mim foi alterar o campo de geometria para string e atualizá-lo em python para que ficasse assim:
Depois disso, passei a usar o código abaixo, onde envio o dataframe para o MySQL e depois atualizo a tabela para definir a coluna geometry:
regions.to_sql('pr_regions', con=conn, schema='eq_pr_db',
if_exists='replace', index=False)
#add column type Polygon
conn.execute('''ALTER TABLE `eq_pr_db`.`pr_regions`
ADD COLUMN `geom` Polygon;''')
#populate new column by applying the ST_GeomFromText function to transform the string to geometry type.
conn.execute('''UPDATE `eq_pr_db`.`pr_regions`
SET geom = ST_GeomFromText(geometry) ;''')