文字列にキャストするだけです:
db.session.query(Vehicle).filter(str(Car.id) == Vehicle.value)
Car.id
の場合 はintであるローカル変数です。
これを結合で使用する必要がある場合は、データベースに文字列にキャストしてもらいます:
from sqlalchemy.sql.expression import cast
db.session.query(Vehicle).filter(cast(Car.id, sqlalchemy.String) == Vehicle.value)
他の列の文字列値に数字が含まれている場合場合によっては空白 トリミングを検討するか、代わりに文字列値を整数にキャストする(そして整数列を整数のままにする)ことを検討する必要があるかもしれません。