That looks OK. Normally your VM and dockers are in the User Shares named appdata, domains, system. These are cache-prefer by default, which means if they ever overflowed to the array then mover could move them back to cache. But mover can't move open files, so for that to actually work, docker and VM services have to be stopped.
It is really simpler to just have those shares cache-only, but you have to be careful and not fill up cache (or any other disk for that matter) or it could corrupt.
Each user share has a Minimum Free setting which Unraid uses to decide which disk to use when it begins writing a new file. It has no way to know how large a file will become when it chooses a disk to write. If a disk has less than Minimum Free it will choose another. You should set Minimum Free to larger than the largest file you expect to write to the user share.
Cache also has a Minimum Free in Global Share Settings. If cache has less than minimum, Unraid will use this setting to overflow to the array, but that only works for cache-yes and cache-prefer user shares as explained in that link I gave.