Автор, ваша позиция вполне адекватна. Когда я был разрабом, то я трекал время на ресерч, а когда проджектом - оплачивал его.
1. В первом кейсе при нечеткой постановке задачи вы выполняете роль аналитика/UX-эксперта/тим-лида/проджекта. И делаете их работу по постановке задачи, которую должно были сделать они перед обращением к вам. Пожтому можете смело это время трекать.
2. Во втором кейсе я бы трекал все время, которое относится к гуглению справочной информации - API новых разделов SDK, REST API, API каких то редких сторонних библиотек и т.д.
Например, когда я делал задачу по загрузке списка контактов в мобильном приложении, я сразу обозначил, что мне понадобится дополнительно 8 часов на изучение API в SDK Android для работы с ними. Документация на SDK составляет несколько тысяч страниц, она постоянно обновляется, и зубрить ее бесполезно.
3. Если заказчик упертый и хочет платить только за "стучание клавишами", то делайте остальные затраты скрытыми