maybe you should use explicit conversion like
SELECT id, prices, ANY((bigint(x.valid_to) > now()) FOR x IN prices) AS cond FROM de_de_products where cond = 1;
to make sure JSON.field fetched into the right type of the numeric value and does not overflow the int type?