if AllowHoldPolicyOverride is turned on, any attempt in the staff client to place a hold will require override, even if it should not. Turning the syspref OFF lets normal rules take over. In reserve/request.pl, right after the comment " If AllowHoldPolicyOverride is set, it should override EVERY..." (circa line 444-450) seems to be the crux of the matter. It should, I suspect, check to see if item->{available} is already *set* before setting $item->{override}.
Pushed, please test
Tested, works on both master and 3.4.x
To clarify, afaik it hasn't been pulled into 3.4.x, but it should be and it works there.