Difference between tf.saved_model and tf.keras.models.save_model

Both of these functions allow to save the model using the SavedModel format SavedModel 形式の使用  |  TensorFlow Core but only keras allows to disable or enable tracing, the tf.saved_model does not. Why is that? Can I save a model using tf.saved_model without tracing? I noticed keras is storing some metadata. Is this related to it? Also, keras allows passing custom objects, but tf.saved_model does not. Why is that?
TFX serving says it supports models stored in SavedModel format Serving a TensorFlow Model | TFX but it works only when model is stored using tf.saved_model, but not tf.keras.models.save_model.
What are the differences?
And more importantly, can I somehow save a model using tf.keras.models.save_model so it would work with TFX serving? If so, with which parameters it works and with which parameters it does not work?