Why would you configure it to use the wrong drive in the first place? You can always stop the container, move the data from /media/nextcloud/data to wherever you external drive is, change the “volume” mapping, restart the container and be good.
Word of warning: storing volume data on external drives is usualy a call for trouble.
If /media/nextcloud/data is on your external drive and mapped to /data inside the container, it should be correct. There is no magic involved: it literaly relies on mount --bind /media/nextcloud/data /data (where /data) is the targetfolder inside the container.
One more thing: the usb drive must be mounted before you start the container - and should not be unmounted, hibernate, sleep or anything that temporarily unmounts the drive. Think of it is as the container receives a pointer which it does not update again, regardless wether you mount or unmount something in the host path - the pointer will be still the same it was when the container was started even though it became stale.
apologies on the confusion on the HDD, i thought this server had the 1TB hdd connected.
the actual HDD on the server for the containers is 256GB and the external HDD for hosting nextcloud data is 512GB.
this is the result of findmnt --target /media/nextcloud/data