Unity is always going to ask the user to enter a digit to stay on hold after the first hold music cycle and for each cycle after that - holding calls on Unity is designed for smaller systems that don't have phone swtiches capable of holding, but it'll chew through voice ports in a hurry if you have too many folks camped out on hold.
The difference between "always hold" vs. "ask caller" is the initial entry into the queue - with the "ask caller" they are not added to the hold queue at all unless they enter "1" when asked to hold - the "always hold" option dumps them in the hold queue without asking - they are asked to remain on hold or bail out at the end of the first music (if there's more than 1 person on hold) or transfer cycle.