I think the approach you followed should work. I tried with mnist example as shown in the following gist 5.
Only thing is to make sure that changing the input shape should not affect the layers after input layer. Please share entire code (with any dummy data) for further support.
new_model = tf.keras.Sequential(tf.keras.layers.Flatten(input_shape=(14, 56)))
for layer in loaded_model.layers[1:]:
  new_model.add(layer)

As you are changing one of the layer, you need to train the model again to get the updated weights. Before training, you need to compile the model and then train. You could also freeze the layers and fine tune the model.