First off: if you install the Workstation on the server you will get the same 3.5 behavior.
It’s not that the 4 works differently, it’s that you are comparing a virtual desktop created by the Workstation, that is one that only exists in the computer’s memory can be resized to any possible resolution, and a physical desktop, that is one that is displayed on a physical monitor and hence is subject to a number of constraints regarding the resolution and the way the OS (or X, in this case) allows applications to modify this setting. Basically you can’t have the same flexibility. But indeed there is some flexibility that can be achieved.
There are 2 possible uses of NoMachine: if you are using it to access a remote system, you probably want to modify on the fly the resolution on the server to match the resolution on the client. This, in general, is not a problem, as long the resolution on the client is listed among the resolutions supported by the server. There are corner cases to be handled and the multi-monitor configurations on the client, requiring that the physical desktop is resized to, say, 3840×1080, that surely most graphic cards do not support. Then there is the case when NoMachine is used as a collaboration tool, where a remote user connects to the machine which has a user in front of the physical monitor. In this case the user sitting in front of the monitor doesn’t want his/her display changed when the remote user connects. This is not a big problem in virtual desktops, since the use-case is often different. The draconian solution of never resizing the physical server desktop implicitly (you can still do that in the control panel) sometimes is not what the user wants. We are working on distinguishing the two cases and adding more of flexibility.