@Buck Hodges (Director of Engineering at Microsoft) has given the answer in this case:
The file is writable. When there's a writable file, get will not
overwrite it unless the /overwrite option is used. However, you would
need to figure out how the file is becoming writable. You may want to
go back to the default option of creating a new workspace, running a
build with verbose logs, and see what is making the file writable.
Build vnext agent (1.x) does not provide a way to control whether
/overwrite is included. The new agent (2.x) does specify /overwrite
every time in order to prevent writable files causing problems. The
new agent will be the default in TFS "15" and in VS Team Services.