Does DuckDB just delegate the query to S3 Tables? or does it do anything in-engine with the data files?
On thing that's missing in DuckDB is predicate pushdown for iceberg - see https://github.com/duckdb/duckdb-iceberg/issues/2
Which puts it way behind the competition, performance wise.