Использование System.Text. Json десериализатор не дает ожидаемых результатов. Не выдается никаких ошибок, просто список без значений .... все свойства объекта имеют значение null.
Вот рабочий пример: https://dotnetfiddle.net/QYrvy5
Вот рассматриваемый код. «data» - это просто строка json (см. do tnet fiddle):
products = JsonSerializer.Deserialize<List<ProductCatalogProduct>>(data);