по правильному, MatTableDataSource создается один раз, sort привязывается тоже один раз, а обновление происходит через присвоение MatTableDataSource.data = newData
.
держать данные в отдельном свойстве нет смысла и нужды
в таблице обращаться к данным нужно через element, что сделано в 2 столбцах из 3