In case anybody has similar issues, here's what I did:
First off, it seems like Digikam in its present version is unable to achieve the abovementioned objective. So instead of trying to get Digikam to do something it's apparently no good at, I decided to fiddle around with the very tool that Digikam employs to write metadata to the image files: exiv2
First I checked a lot of my images like so:
Code:
exiv2 pr -p a image.jpg
The metadata keys in question (which store parts of the tag hierarchy) were always these:
Xmp.digiKam.TagsList
Xmp.MicrosoftPhoto.LastKeywordXMP
Xmp.lr.hierarchicalSubject
The last two seem to be keys used by proprietary software (lr meaning "Adobe Lightroom", apparently). Damned if I know why these are written to my pictures at all.
Anyway, outside of Digikam, I mounted all my image collections under one directory and from there cleaned out those keys using this command:
Code:
find . -type f -print0 | xargs -0 exiv2 mo -M "reg lr dummyNameSpace/" -M "del Xmp.lr.hierarchicalSubject" -M "del Xmp.digiKam.TagsList" -M "del Xmp.MicrosoftPhoto.LastKeywordXMP"
This portion...
Code:
-M "reg lr dummyNameSpace/"
...was necessary because without it, exiv2 would complain about the lr-key being invalid and wouldn't touch it.
Then I opened Digikam and moved the tags around to my heart's content. Afterwards, I had it sync the database with the image metadata through 'maintenance'. On my present machine, this process took more than a night to complete, which made the several hours of the earlier exiv2 command look fast as lightning.
The result is pretty much what I wanted.
Since I'm not overly keen on repeating this soon, I guess I'm gonna take great care about my choice of tag hierarchy branches...
Marking this off as solved.