В документации этого момента не нашел, могу только догадываться.
Здесь оба значения приводятся к типу timestamp и сравниваются?
select '2021-01-01'::date = '2021-01-01 12:00'::timestamp;
А здесь приводятся оба к типу integer или numeric для сравнения?
select 5::numeric = 5::integer;