This library isn’t present because you are explicitly excluding it by not having it in your prime list. When prime is specified for a part, ONLY the files listed will be included (OR if you only use negations then ONLY the negations will be excluded - if you use both then the exclusions aren’t really used because the inclusions will exclude everything not in the include list anyway - both are helpful if you use wildcards, however).
It will migrate files it already knows about. If you create new files or move them around directly in the stage area they won’t be migrated to prime. For that to work, you need to do these adjustments in the part install directory.
If the source and destination are the same file, it should have been primed. I created a smaller reproducer containing only the gmmlib, libva, and va-drivers parts, and found that the file was moved around and in stage it’s not in the same place it was installed:
When the part is primed, Snapcraft expects to find files in the same place they were installed. That’s because it must know file locations in order to be able to remove files from specific parts when cleaning. So, if you must change file locations, do it in $SNAPCRAFT_PART_INSTALL in override-build, or use organize.