It seems that there is a window of time where a Windows virtual desktop is in a Ready state but the SPICE Guest Agent hasn't adjusted the display resolution.
If a user starts the SPICE client in the User Portal too early then the resolution adjustment doesn't happen.
If the default resolution is greater than the display resolution then the SPICE client changes from fullscreen mode to windowed mode.
If a user waits a bit after the Ready state to start the SPICE client in the User Portal, then the resolution is adjusted properly.
Exiting the SPICE client and restarting it from the User Portal will sometimes correct the display resolution. The user has to press Shift-F11 before exiting if the SPICE client is still in fullscreen mode.
Is there a way to ensure that the resolution adjustment happens? Ideally, the SPICE Guest Agent would change the display resolution while the SPICE client is running.