Why is tf.keras.Model accept 'inputs' and 'outputs' but derived doesn't?

Hi,

Looking at Making new layers and models via subclassing I see that the derived class:

class VariationalAutoEncoder(keras.Model):
...

does not accept the ‘inputs’ keyword argument. I wondered why that is? I see that the code https://github.com/keras-team/keras/blob/v2.6.0/keras/utils/generic_utils.py#L1137

forbids it, but then, why would inputs and outputs need to be defined for the plain tf.keras.Model, but not for a derived class?