Mark, it's completely up to you to decide what you charge your clients for. It's your business. Nobody here can tell how to do (as you don't reveal any details).
Some businesses charge for clarifying requirements... usually called consultants. It can be worth the money to the client.
Some don't charge, but take on big projects where detailed requirements gathering is part of the project. Usually agencies. That too can be worth the money to the client.
And then, many developers spend their own time on understanding the requirements before a contract is started to make sure they do not over promise anything and they can be successful in delivering the project.
It completely depends what kind of work you do over here, who your client is and what the client aims to do in the long run.
Technically, you could set up a small project for defining what to do (and conveniently testing the client if they manage to pay) and once things are clear, start a bigger project.
Perhaps the bottom line is understanding what the client is after and how they turn your work into their profit... 😉