Tensorflow model works for classification but not for regression (all predictions equal the output layer bias)
Surprisingly, changing the optimizer from adam to tf.keras.optimizers.SGD(lr=0.01, momentum=0.9) eliminated the identical predictions, but it looks like more tinkering is required to get good results like with the classification model.

The only question is why does this change make that much of a difference?  I'd be curious to know the answer if anyone has one.