A lista está sendo renderizada em uma div
usando index como key
?
Se sim, talvez quando o mesmo for removido a re-renderização do react se perde na key.
O correto é utilizar alguma propriedade que não se altera, como id
.
O seu código parece correto. Pode tentar criar uma referência nova em memória antes de fazer o filtro.
function remove({name}: IProperty) {
const tempProperties = [...properties];
tempProperties.filter(p => p.name !== name);
setProperties(tempProperties);
}