Po wypróbowaniu wielu rzeczy zauważyłem, że funkcja to_sql nie generowała poprawnej składni MySQL, aby mogła działać. Również przy podejściu do zmiany na wkb MySQL nadal nie rozpoznawał tej kolumny jako geometrii, jeśli zostawię tekst bez zmian (patrz zdjęcie w pytaniu).
U mnie zadziałała zmiana pola geometrii na ciąg znaków i zaktualizowanie go w pythonie, aby wyglądało tak:
Następnie przystąpiłem do korzystania z poniższego kodu, w którym wysyłam ramkę danych do MySQL, a następnie aktualizuję tabelę, aby ustawić kolumnę geometrii:
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) ;''')