I don't love this, but I found a workaround if you happen to be creating your simulators via xcrun simctl:
defaults write com.apple.dt.Xcode DVTDeviceVisibilityPreferences -dict-add "$(xcrun simctl create "iPhone 8 Plus" "iPhone 8 Plus" com.apple.CoreSimulator.SimRuntime.iOS-16-0)" 1
This takes the resulting UUID from creating an iPhone 8 Plus simulator with xcrun, and adds it to the dictionary as Always shown. If you're creating simulators automatically, you can adjust your script to automatically change the behavior such that they're always shown. I found I had to restart Xcode after generating the simulators in order to see them as run destinations...
If you want to clear the preferences before adding new keys, you can run the following command beforehand:
defaults write com.apple.dt.Xcode DVTDeviceVisibilityPreferences -dict
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: