softplus on zero values is incorrect
This issue was also reproduced in latest tf 2.16.1 Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/65289">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/65289">No</a>
 Sorry. It's a misunderstanding.
### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

No

### Source

source

### TensorFlow version

tf 2.11

### Custom code

No

### OS platform and distribution

CentOS 8

### Mobile device

_No response_

### Python version

3.10

### Bazel version

_No response_

### GCC/compiler version

gcc 9.2.1

### CUDA/cuDNN version

cuda 12.3 / cudnn 8.9

### GPU model and memory

NVIDIA A100 40 GB

### Current behavior?
<del>
Softplus produces outputs for inputs by rule: softplus(x) = log(exp(x) + 1). In my understanding, it will get 0 if the input element is 0. But in the following code snippet, it shows different result.

Is it a numerical bug or an expected behavior?

I'm glad to help to fix it if it is a bug.
</del>
### Standalone code to reproduce the issue

```shell
import tensorflow as tf

a = tf.constant(
    [[0.1,0.1,0,0],
    [0.1,0,0,0]],
    dtype=tf.float32,
)
print(a)
b = tf.math.softplus(a)
print(b)
```


### Relevant log output

```shell
The standard output gets:
'''
tf.Tensor(
[[0.1 0.1 0.  0. ]
 [0.1 0.  0.  0. ]], shape=(2, 4), dtype=float32)
tf.Tensor(
[[0.7443967 0.7443967 0.6931472 0.6931472]
 [0.7443967 0.6931472 0.6931472 0.6931472]], shape=(2, 4), dtype=float32)
'''

But print(b) expects:
tf.Tensor(
[[0.7443967 0.7443967 0. 0.]
 [0.7443967 0. 0. 0.]], shape=(2, 4), dtype=float32)
```
