Your initial approach is the correct way to do this. If your manager doesn’t like this approach, ask how he/she’d do it.
A couple of ideas:
1.) Get a new manager.
2.) Go to lunch with each user individually. In a “non-business” environment you can ask them about their job and how they do it. Then try to formulate roles, adjusting as you go.
3.) Without user input, take a stab at designing their roles but make them skimpy. Have them call you when they can’t get into some transaction and adjust per their request. I’d suggest that you have them send you an email request (approved by their manager if possible) as an audit trail for CYA.