Why doesn’t the process substitution <() work with ssh -F

I have some vagrant virtual machines. To log into them I issue the vagrant ssh command. I want to log into them using regular ssh command. The vagrant ssh-config outputs the suitable config file

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2201
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/cbliard/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

When outputing this config in a file and using with ssh -F, everything works fine:

$ vagrant ssh-config > /tmp/config
$ ssh -F /tmp/config default
=> logged successfully

When using process substitution operator <(cmd) to prevent the creation of the temporary config file, it fails:

$ ssh -F <(vagrant ssh-config) default
Can't open user config file /proc/self/fd/11: No such file or directory

Same error happens when using <(cat /tmp/config)

$ ssh -F <(cat /tmp/config) default
Can't open user config file /proc/self/fd/11: No such file or directory

I am using zsh and I observe the same behavior with bash. What am I doing wrong here?