But in general, I find it more sustainable to just go home after I finish in 5 hours because I know there are going to be times that I work 10 or 12 hours (or a Saturday). Also, for me, depending on the next card, it might take an hour or so to get going at the end of a day. So I'm now at 7 to 8 hours which is when I normally leave. Was that hour or two wasted? No. I retain the knowledge till the next day. But again for me, I've found that coming in and starting a new task fresh reduces that one or two hours to less and gives me a singular focus for the day.
If I finish in 2 or 3 hours, I always move on to the next task. That would be silly to go home after 2 hours (most days).
I adapt this style for wherever I work. It has worked for me at start ups as well as BigCo.
[Update] For the side things (refactoring messy code, flakey tests, automating a tedious process, etc.) - I create cards/tasks for them and get them into the sprint.
I know this makes me sound like a "terrible" employee. But it allows me to give my best on a more sustainable basis. And if it is something that truly needs to be done in a month, I'll work those 10 or 12 hour 7 day work weeks...