It works in this way:
MYPC /d/home/project/some/path (master) $ git diff --name-only --cached root.txt some/path/relative.txt
I.e. it shows
git status -s already outputs relative paths that can be easily isolated.
git status -s
If you need to use git diff, you can pipe the output to realpath, if available:
git diff
realpath
$ git diff --name-only | \ xargs -I '{}' realpath --relative-to=. $(git rev-parse --show-toplevel)/'{}' ../../root.txt relative.txt