In create_table_from_query_using_pandas, when checking if a table exists, the table's name is checked if it is in the list of tables in the destination schema:
if destination.table not in inspector.get_table_names(schema=destination.schema):
If source and destination have different casing, and the destination database is case insensitive (MS SQL Server), then the existing table should be reported as being present, even if the case doesn't match.