I did the following steps:
git clone my/repo && cd my/repo
git remote add other some/remote
git fetch --all --prune --tags
git checkout -b newbranch
git reset --hard other/newbranch
and now there's an unstaged file. There are no .gitattribute files in this repo in any branch or remote. (So it's not the same as Unstaged changes left after git reset --hard)
Edit
If I do
git checkout -b newbranch other/newbranch
instead of the last two lines, I still have the unstaged file.
What could cause this?