app.config для DLL никогда не будет использоваться.
app.config для EXE-файлов переименовывается в .exe.config и используется EXE-файлом
web.config используется веб-сайтами / приложениями.
По сути, если Visual Studio услужливо добавляет файл app.config в проект DLL для вас, все, что он дает, - это что-то скопировать и вставить в соответствующий конечный файл конфигурации - либо app.config из EXE, либо web.config веб-сайта / приложения.
@ vikps comment: На секунду игнорируя проблемы подкаталогов веб-сайта и configSource, вы не можете иметь более одного файла конфигурации, участвующего в конфигурации приложения. И в этом случае вам не помогут ни подкаталоги, ни configSource.
При configSource приложение может указать, что весь раздел конфигурации должен быть прочитан из альтернативного файла конфигурации. Но вы можете сделать это, только если весь раздел конфигурации существует в этом другом файле (например, вы не можете иметь раздел connectionStrings в web.config, а также загрузить еще несколько строк подключения из другого источника)