Hi Paul,
I think I know what you mean. I can see two solutions:
1.) By using Instagantt (https://www.instagantt.com/) you can define the time you need for a task and not just the completion date. The downside: It’s a third-party service (and not free).
2.) Inside Asana: Use the “repeat” function. Just set the due date on the day you start working on a task, then use “repeat daily” and choose as the last repeat day the actual due date. This is very easily done and it shows in your calendar your daily tasks - and not just the last possible due date. This is a solution I use quite regularly and it works quite nicely.
What do you think, Paul?