Não sei se estou errado, mas... se temos uma diretiva no div container no template:
<div class="bg-white border" *ngIf="(photo$ | async) as photo">
...fazendo o subscribe do Observable e emparelhando as propriedades de photo interface, não bastaria declarar o bind da propriedade [photoId] do componente photo-comments dessa forma:
<ap-photo-comments [photoId]="photo.id"></ap-photo-comments>
photo.id ao invés de photoId?