э, так це не проблема а by design. Оно по другому и не будет работать. Если async пайп срабатывает то прилетело новое значение, т.е. шаблон нужно обязательно проверить.
Другое дело что из-за особенностей распространения CD ангуляра (с самого рута вниз по дереву) markForCheck вынужден помечать как dirty не только текущий компонент, но и всех родителей по дереву вплоть до рута, чтобы на ближайшем CD цикле до этого компонента сверху вниз вообще дошли. Но это не про асник пайп, это про работу CD ангуляра и markForCheck.
На эту тему у них кстати есть рфцшка как планируют оптимизировать на локальную dirty пометку без необходимости каждый раз спускаться сверху вниз (ссылку найти не могу, гдет в ишью ангуляра утонуло)