SQLAlchemy no intenta establecer el campo porque cree que el valor no ha cambiado.
Puede decirle a SQLAlchemy que reasigne el valor especificando el atributo onupdate en la columna:
Column('timestamp', ..., onupdate=literal_column('timestamp'))
Esto dará como resultado que SQLAlchemy agregue automáticamente timestamp=timestamp
a todas las consultas de actualización.
Si necesita hacerlo una sola vez en una instancia, puede asignarle la columna:
foo.timestamp = literal_column('timestamp')
# or
foo.timestamp = foo_tbl.c.timestamp