I think it depends on what you promoting - build triggered by push (shown in list as “username pushed branch” - this one works) or pull request (“username opened pull request” - this one fails when promoted)
In the example screenshot above, I promoted this build which was triggered by pull request. If you look closely at the logs in the screenshot you will see git fetch origin refs/pull/7/head
Previous versions of Drone did have problems cloning pull requests that were promoted, but that was fixed by this patch which was merged back in Aug 2019