One solution to no iPhone sound on incoming messages
Here's what was wrong on my phone (iphone 11, ios 17.3): I had been using the "Sencha" ringtone for years, and it still showed as the ringtone for "Text Tone" in the Sounds and Haptics menu. But when I went to the "Text Tone" submenu to look at available ringstones, the ringtone was set to "None", and "Sencha" was no longer available. So I selected one of my custom ringtones (the longer, non-SMS specific ring tones you would use for phone calls no longer seem to be available.)
So if your phone stops sounding for incoming SMS or IMessages, dive down into the ringtone selection for "Text Tone" and see if iOS hasn't set your ringtone to "None" for you.
iPhone 11