I'd like to do the following work flow:
Is there a way to do step 2?
Example
echo "123" > foo
git add foo # Assumes this is a git directory
echo "456" >> foo
git stash
cat foo # Should yield 123
git stash save
has an option --keep-index
that does exactly what you need.
So, run git stash save --keep-index
.