OK... I'm still not exactly sure what the problem was, but I found a symptom which seems to have led to the cure.
I realized that the "Archives" stored on my hard disk all had a size of zero bytes. Now... why would Xcode call that archive "successful"? I have no idea. But it made me wonder if doing a clean npm install and pod install might help (I'm building a React Native app)... and that apparently did.
FWIW: after upgrading Xcode, the product ran fine in a simulator. It just didn't archive. Now, it archives, displays, and uploads fine, even though I didn't actually change anything in Xcode. Go figure.