Cóż, w ciągu godziny od opublikowania mojego pytania, już to rozgryzłem. Może powinienem był zrobić trochę więcej badań przed opublikowaniem.
Problem polega na tym, że sqlalchemy musi być skonfigurowany do używania kodowania UTF-8. Rozwiązaniem w powyższym kodzie byłaby zmiana linii 3 na:
engine = create_engine('mysql://root:@localhost/testdb?charset=utf8', encoding = 'utf-8')