-iname avalia seu argumento, * , ? e [] têm um significado especial para ele, então você precisa escapar deles se quiser passá-los literalmente.
Considere também usar -quit caso você encontre dois ou mais arquivos em pastas diferentes (duplicatas?). Eu acho que você espera que dname seja um nome de diretório único.
Eu entendo que $video já foi dado:
video="[HD, 1920x1080] - Wild Wild West.mp4"
Nesse caso, tente:
video1=$(echo $video | sed 's|\[|\[|g; s|\]|\]|g')
dname=$(find /run/media/user/usbdisk -type f -iname "$video1" -exec dirname {} \; -quit)
Isso pode ser feito em uma linha. Eu escolhi introduzir uma variável adicional para maior clareza.