Вы можете просто использовать тег <template> и заменить *ngIf на [ngIf] следующим образом.
<template [ngIf]="...">
...
</template>
Ответ 3
Вы не можете поместить div непосредственно внутри tr, что приведет к недопустимому HTML. tr может содержать только элемент td/th/table, и внутри них могут быть другие элементы HTML.
Вы можете слегка изменить свой HTML, чтобы иметь *ngFor над tbody и иметь ngIf поверх tr, как показано ниже.