Вероятно, это связано с безопасностью, поскольку работает при изменении clientCredentialType.
То, что вы получаете 404, это для повышения безопасности, система говорит: «Я не могу найти файл», вместо того, чтобы сказать «Да, есть файл с таким именем, но вам не разрешено просматривать его». *
Похоже, что пользователь, который выполняет вызов wcf, не имеет доступа к файлу svc, но пользователь, выполняющий процесс asp.net, имеет. Пользователь, который запускает процесс asp.net, используется для анонимных клиентов.
Выше приведены настройки по умолчанию.