The behaviour you describe sounds correct for the way that you have your system is currently set up. You are trying to overload your pool capabilities.
A point to remember is that Minimum Free Space does NOT mean keep that amount of space free. It is a value that when it drops below that the NEXT file to be created is sent to a different drive. The current file will continue until it is complete which can take the free space well below the setting value.. That is why you want that setting to be larger than the biggest file you want to transfer. Mover will not automatically move files off to get to the Minimum Free Space value.
It does not make sense to have Use Cache=Prefer for shares which total more than the available space. You should either restrict this setting to those shares you really want on the pool and that will fit, or alternatively you can increase the size of the pool, or create additional pools. Many people will have separate pools for caching, docker apps, VMs etc with each one using hardware and settings optimised for that type of use although there is nothings stopping you combining these functions onto a single pool.