Hello.
H2 never had real support of Oracle-style TRUNC function. H2 has only own function and its optional second argument is a number of digits.
Recent releases of H2 are more pedantic and they correctly reject the second argument when it isn't supported due to type of the first argument, I forget about this difference.
Old versions ignore this unexpected argument and may silently return an incorrect result. It's better to have an explicit error.
This function with datetime argument will be deprecated in the next version H2 due to its weird behavior and low usability, H2 has another function for that purpose with sane implementation.
Own functions are intentionally resolved first, but the whole Function class and its name resolution logic are going to be removed from H2. Many functions were already moved out into own classes.
H2 can have a specialized implementation of TRUNC function for Oracle mode or some conditional code in the current implementation for that mode, but I think we need to complete the separation of the Function class first.