I expect that’s possible, you just need to bring down mailcow, copy the volume files to the new location, then setup docker overrides for all the services:
https://docs.mailcow.email/manual-guides/Docker/u_e-docker-cust_dockerfiles/
docker-compose.yml will have all the volume entires you’ll need to override for each container (don’t edit docker-compose.yml directly.)
It’ll be a management headache though because you’ll have to check deltas between updates to mailcow to make sure new volumes or containers were not introduced to keep everything on the separate volume.
Might be easier honestly to move the entire mailcow-dockerized to the intended volume since docker-compose.yml volume entires use the relative directory ./data/…