This isn't a bug since these functions don't exist and all of your examples error out on that account. You need to provide the definition of the function you are using - and the bug likely belongs to whomever wrote the function.
The seemingly equivalent COALESCE "function" does indeed produce the expected type mismatch error for all those queries.
select coalesce(value_t,value) as thatsok from test t where id between 2 and 4;
ERROR: COALESCE types text and numeric cannot be matched LINE 2: coalesce(value_t,value) as thatsok