Прокси-сервер не должен быть IMO синглтоном (или синглтоном-синглтоном), а должен создаваться по требованию. таким образом, каждый логический модуль может создавать его по своему желанию, не мешая другим модулям.
кроме того, что вы подходите очень правильно. прокси должен иметь ссылку на проект ServiceType и т. д.
если вы хотите реализовать аутентификацию "службы", то я бы создал другой класс с именем AuthenticationService и зарегистрировал бы его в Unity как одноэлементный. Это, в свою очередь, получит ссылку на новый прокси и будет иметь дело со всем, что связано с аутентификацией / авторизацией.
Идея состоит в том, чтобы позволить каждому логическому модулю вести себя так, как будто это единственное в приложении, без необходимости беспокоиться о других модулях, кроме его зависимостей. таким образом, если у вас есть два представления, каждое из них может получить свой собственный IAuthenticationService, который будет одинаковым (и им это не нужно), в то время как сам AuthenticationService зависит от прокси-сервера и будет содержать ссылку на него через свою жизнь.