tcp_error exceptions take precedence over custom exception pages if the destination host is unreachable.
Unfortunately, there is no way to replace the tcp_error exception with a custom exception because there is no "server error" returned to the proxy. As a result no trigger will match any CPL you may have to display a specific custom exception. This is expected behavior.
You can of course modify the default tcp_error exception so that all tcp_error related errors use the same tcp_error exception.