This is a (side?)effect of the changes from nvim v0.2.2 -> v0.3. Nvim did switch the default behaviour for text that is piped into it via stdin. Before it was used as commands (unless - was given as an argument), now it is used as text in the initial buffer (even without the -).
Your file argument should be there just as the next buffer in the internal argument list of neovim. Try :ls inside neovim.
You can verify that this behaviour is new with neovim v0.3 when you download the appimage for v0.2.2 and try the same with that.
EDIT: I confirmed that for version 0.3.1 it works as expected, you get file in the first buffer. You can download v0.3.1 from the release page. (thanks @jamessan for mentioning)
xargs vimisn't known to work all that well either: https://superuser.com/q/336016/334516, https://vi.stackexchange.com/questions/410/terminal-borked-after-invoking-vim-with-xargs, https://unix.stackexchange.com/questions/77395/grep-l-xargs-vim-generates-a-warning-why – muru Jul 19 '18 at 06:03