This is fish bug #1949 - fish doesn't run command substitutions in a subprocess, and so leaves stdin connected to the tty. Because of that, some tools don't behave as the should.
Joe Hildebrand's workaround (explicitly redirect </dev/null) is the right thing to do currently.