Thanks to those who responded, and I'm sorry I haven't followed up on this. I contacted Yamaha tech support, and was waiting to hear back from them, which finally happened today.
Here's the email I sent them:
"I'm using a DAW-like program called Synfire. I also use Cubase 13 Pro.
I'm sending MIDI data from the DAW to my keyboard, with the intention that the keyboard will then play not just the received MIDI data, but also the Style I've selected. However, although the keyboard does play the original MIDI, it does not also play the Style. What am I doing wrong? Thank you."
And here's their response:
"Be sure you have the sx900 MIDI clock set to external. If Synfire's acting as the master and sending all content to the sx900, then the sx needs to know when to start and how fast to play, and there can only be one MIDI clock. So, you need to assign the sx900's to Synfire's clock.
Go to:
1. [MENU] -> [MIDI] -> system
2. Assign Clock to MIDI (unless using sx900's USB To Host connection, then it would be USB1).
Once that's set, and Synfire sends a start/stop command (required), then the style will run."
But I had already done those things, so I'm apparently back where I started.
Synfire lacks many capabilities of an actual DAW (for example, it doesn't send or receive Sysex), but it does sync with various synths and sound modules, both software and hardware. For example, I can use it to play EZkeys, Omnisphere, and my hardware synths. So the logical assumption is that it must be sending start/stop commands.
So it seems to me this isn't all that complicated, and there's just some simple thing I, an SX900 noob, and overlooking.
Suggestions? Thanks again.