Just thought I'd share the results of some testing, for anyone that wondered about this like I did after reading about the 30-second delay on data loads/saves after plugin initialization. It seems that when a plugin is unloaded, the character logged out, or the game exited, any queued PluginData.Save calls that are waiting on the 30-second timeout get called right away and are not lost.
That's a big relief - I was worried that I was going to have to use the separate plugin trick to save the data immediately to ensure there wasn't any data loss. Of course, a game crash would still likely cause the queued data to be lost, but that's pretty extreme to worry about.
Nice to be able to share some good news for a change - we're usually just complaining