Е, в рамките на час след като публикувах въпроса си, вече го разбрах. Може би трябваше да направя още малко проучване, преди да публикувам.
Проблемът е, че sqlalchemy трябва да бъде конфигуриран да използва utf-8 кодиране. Решението в горния код би било да промените ред 3 на:
engine = create_engine('mysql://root:@localhost/testdb?charset=utf8', encoding = 'utf-8')