RadzenDataGrid, Grouping JToken

the following code worked until 5.9.9 any version greater breaks; am I doing something wrong or is there a bug with the latest versions of Radzen?

@page "/dynamic-data-grid"

@using Newtonsoft.Json
@using Newtonsoft.Json.Linq

<h1>Dynamic Data Grid with Grouping</h1>

<RadzenDataGrid Data="@data"
                Render="OnRender"
                GroupRowRender="OnGroupRowRender">
    <GroupHeaderTemplate>
        @context.GroupDescriptor.GetTitle()
    </GroupHeaderTemplate>
    <Columns>
        @foreach (var property in ((JObject)data.First()).Properties().Select(p => p.Name).ToList())
        {
            <RadzenDataGridColumn TItem="JToken"
                                  Property="@property"
                                  Title="@property">
                <Template>
                    <div>
                        @(context.Value<dynamic>(property)?.ToString())
                    </div>
                </Template>
            </RadzenDataGridColumn>
        }
    </Columns>
</RadzenDataGrid>

@code {
    bool? groupsExpanded;
    private JToken data = default!;

    protected override async Task OnInitializedAsync() => await LoadData();

    private async Task LoadData()
    {
        // Simulating JSON data (replace this with your actual JSON data source)
        string jsonString = @"[
            {""Id"": 1, ""Name"": ""John Doe"", ""Department"": ""IT"", ""Salary"": 75000},
            {""Id"": 2, ""Name"": ""Jane Smith"", ""Department"": ""HR"", ""Salary"": 65000},
            {""Id"": 3, ""Name"": ""Bob Johnson"", ""Department"": ""IT"", ""Salary"": 80000},
            {""Id"": 4, ""Name"": ""Alice Brown"", ""Department"": ""Finance"", ""Salary"": 70000},
            {""Id"": 5, ""Name"": ""Charlie Wilson"", ""Department"": ""HR"", ""Salary"": 62000}
        ]";

        // Parse the JSON string to a JToken
        data = await Task.FromResult(JToken.Parse(jsonString));
    }

    void OnRender(DataGridRenderEventArgs<JToken> args)
    {
        if (args.FirstRender)
        {
            args.Grid.Groups.Add(new GroupDescriptor() { Title = "Department", Property = "Department", SortOrder = SortOrder.Descending });
            StateHasChanged();
        }
    }

    void OnGroupRowRender(GroupRowRenderEventArgs args)
    {
        args.Expanded = groupsExpanded;
    }
}

In Radzen.Blazor 6.x we dropped support for Dynamic LINQ library (which supported Newtonsoft) due to vulnerability issues:

Here is how to achieve the same without third party dependencies:

<RadzenDataGrid Data="@data"
                Render="OnRender"
                GroupRowRender="OnGroupRowRender">
    <GroupHeaderTemplate>
        @context.GroupDescriptor.GetTitle()
    </GroupHeaderTemplate>
    <Columns>
        @foreach (var property in data.First().Keys)
        {
            <RadzenDataGridColumn TItem="IDictionary<string, object>"
                                  Property="@PropertyAccess.GetDynamicPropertyExpression(property, typeof(string))"
                                  Title="@property">
                <Template>
                        @context[property]
                </Template>
            </RadzenDataGridColumn>
        }
    </Columns>
</RadzenDataGrid>

@code {
    bool? groupsExpanded;
    private IEnumerable<IDictionary<string, object>> data;

    protected override async Task OnInitializedAsync() => await LoadData();

    private async Task LoadData()
    {
        string jsonString = @"[
            {""Id"": 1, ""Name"": ""John Doe"", ""Department"": ""IT"", ""Salary"": 75000},
            {""Id"": 2, ""Name"": ""Jane Smith"", ""Department"": ""HR"", ""Salary"": 65000},
            {""Id"": 3, ""Name"": ""Bob Johnson"", ""Department"": ""IT"", ""Salary"": 80000},
            {""Id"": 4, ""Name"": ""Alice Brown"", ""Department"": ""Finance"", ""Salary"": 70000},
            {""Id"": 5, ""Name"": ""Charlie Wilson"", ""Department"": ""HR"", ""Salary"": 62000}
        ]";

        data = System.Text.Json.JsonSerializer.Deserialize<List<Dictionary<string, object>>>(jsonString)
        .Select(dict => dict.ToDictionary(kvp => kvp.Key, kvp => (object)kvp.Value?.ToString() ?? string.Empty));
    }

    void OnRender(DataGridRenderEventArgs<IDictionary<string, object>> args)
    {
        if (args.FirstRender)
        {
            args.Grid.Groups.Add(new GroupDescriptor() { Title = "Department", Property = PropertyAccess.GetDynamicPropertyExpression("Department", typeof(string)), SortOrder = SortOrder.Descending });
            StateHasChanged();
        }
    }

    void OnGroupRowRender(GroupRowRenderEventArgs args)
    {
        args.Expanded = groupsExpanded;
    }
}