Even though I am using this forum for years, I have just created my first account solely to answer you.
I am having the exact same problem with about 3 of my WHM servers (could be more, but these are the ones I found out about).
The scenario in my case is a version 4 NFS server that is mounted to each of my WHM servers, and is used to save their backups that are created using WHM intergrated backup system. I am not using incremental backups but only full backups of all cPanel accounts.
I also get this kind of message when trying to restore a backup:
Could not restore account “rotemintercloud”: Account Restore Failed: “The system could not load the cPanel user attributes file from the archive because of an error: (XID k8mqzx) The system failed to lock (LOCK_EX, LOCK_NB) the file “/mnt/backup/2017-09-19/accounts/cpanelpkgrestore.TMP.work.lCXCWZG5/safe_to_read_archive/contents/cp/rotemintercloud” because of an error: Bad file descriptor at /usr/local/cpanel/Whostmgr/Transfers/Utils.pm line 234.
I have also noticed that the WHM backup system's retention is no longer working and old backups are simply not being deleted.
This issue has started about a month ago, following one of WHM's updates I believe. Seems like a bug to me since it worked perfectly in this exact way for years now (I have over 40 WHM servers that are configured in the exact same way).
About your two temporary workaround:
1. Copying the backup file localy and then running it using a script / "Restore a Full Backup/cpmove File" WHM tool is working perfectly, but it is not a solution since it is very time-consuming and my customers won't know how to do it themselves (They restore backups using WHM's web interface).
2. Setting the NFS mount options to "local_lock=all,nolock" doesn't seem to be working on my case.
3. Changing the mount's NFS version to 3 instead of 4 seem to be solving the problem completely, but I can only implement it to WHM servers that are mounted to one of my NFS servers that is supporting NFSv3 (I cannot change the other NFS server version since it is not supporting it).
In conclusion, it seems to be a bug that have just recently started and should be fixed ASAP since it hurts backup retentions and restores.
Thanks a lot for your attention and assistance on this matter.