PSQL cte delete seem have have ambiguity when select same column from delete table
Your second query will fail, because d0 only has a column seller_id.
Your first query deletes all rows because the id in select id from d0 cannot refer to a column from d0, so it is taken as a column from the outer query, and the whole thing effectively becomes
WITH d0 AS (...)
DELETE FROM seller
WHERE seller.id IN (SELECT seller.id FROM d0)

and that condition will be true whenever d0 is not empty.