That’s not the way it’s supposed to work. set_default_error_handling
only handles uncaught errors.
Here’s a clone that demonstrates this: Anvil | Login
One button calls a server function that handles an exception, another calls a server function that doesn’t handle the exception. The default error function is only called for the second function for me.
There may be something more going on in your example.