SavedModel is not deterministic when saved with enable_op_determinism=True
To clarify, in this saving block:
```
tf.keras.utils.set_random_seed(42)
tf.config.experimental.enable_op_determinism()
model.seed = 42

# Model is deterministic here

tf.keras.models.save_model(model, save_path, save_format="tf")
```

So, before saving the model and after the seed update the model acting deterministically, but after the save (and upon reloading) the determinism is lost I have an update which might be a solution.
If I set: `self._seed = tf.Variable([42, 42], trainable=False)`

Then tfp.distribution will sample reproducibly
```
# tf.random.set_seed(seed)
samples= dist.sample(num_samples, seed=seed) 
```
Note: I don't use `tf.random.set_seed` instead passing the size 2 seed to `dist.sample` because of the underlying `tf.random.stateless_xxxx` function @Krasner Sorry for the late response!
Could you please share the code in colab gist or notebook as it seems that some dependencies are missing[ here](https://colab.research.google.com/gist/sushreebarsa/c0f957a1b2d66fe6bdf54d08b197d321/61131.ipynb). Also please refer to this [link](https://www.tensorflow.org/api_docs/python/tf/keras/saving/save_model) to save the model and let us know if it helps?
Thank you! This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. This issue was closed because it has been inactive for 7 days since being marked as stale. Please reopen if you'd like to work on this further. 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/61131">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/61131">No</a>

### Issue type

Support

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

No

### Source

source

### TensorFlow version

2.9.2

### Custom code

No

### OS platform and distribution

Ubuntu 20.04

### Mobile device

_No response_

### Python version

_No response_

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

I have a model with monte-carlo sampling layers. At train time it is ok for sampling to be random and I do not set a seed.
At inference this model MUST output deterministic results - so the sampled values must be reproducible.
I need to save this model after training using `tf.keras.models.save_model()` and then load it with `tf.keras.models.load_model()`

When training is complete I save the model like so:
```
tf.keras.utils.set_random_seed(42)
tf.config.experimental.enable_op_determinism()
model.seed = 42
tf.keras.models.save_model(model, save_path, save_format="tf")
```

To load it:
```
import tensorflow as tf
tf.keras.utils.set_random_seed(42)
tf.config.experimental.enable_op_determinism()
model = tf.keras.models.load_model(save_path)
for _ in range(10):
 output = model(input_tensor, training=False)
```
I expect output to be always the same for the same input - within one python process and when reloading, however it is not.

This is what my model looks like (only the relevant portions):

```
class CustomModel(tf.keras.Model):
   def __init__(self, *args, **kwargs):
       self._seed = None
       self.mc_layer = CustomMonteCarloSamplingLayer()

    @tf.keras.utils.register_keras_serializable(name="seed")
    @property
    def seed(self):
        return self._seed
     
    @seed.setter
    def seed(self, value):
        if is_op_determinism_enabled():
            lgr.info("Setting random seed")
            self._seed = value
            tf.random.set_seed(value)
        else:
            lgr.info("TF OP Determinism not set")

   def call(self, inputs, training=True):
       return self.mc_layer(inputs, seed=self._seed)
```

Internally in `CustomMonteCarloSamplingLayer` I use the seed value like so:
```
tf.random.set_seed(seed)
samples= dist.sample(num_samples, seed=seed)
```
where dist is a distribution from tensorflow_probability.

When `self._seed = None` which is the case in training, `dist.sample` will randomly generate values.
When `self._seed` is set then I need `dist.sample` to be reproducible.

The loaded model, even with op determinism enabled during saving and loading, is not reproducible.

      


### Standalone code to reproduce the issue

```shell
See above
```


### Relevant log output

_No response_