То есть, помечая проперти как private, мы закрываем доступ к этому проперти из вне, но при этом мы навешиваем Input для того, чтобы писать в этот Input что-то из вне
Не находишь несостыковку в логической цепочке при использовании private на Input?
Ну я в целом понимаю такое соглашение, но мне кажется это как импользовать недокументированные фичи.
Да, выполняет задачу, но может в любой момент сломаться, и надо объяснять всем новичкам.
На небольших проектах можно юзать наверное.