What I am wondering is how to automatically download the binary file from another source such as S3 and place it in the correct location?
Not through git itself.
You could set up a post-checkout hook in order to take care of that step, but a hook isn't propagated through git push/pull
.
It is easier to store a script (in that git repo) that the user of that repo can call on demand in order to download/update that binary.