Problem with filtered datas from Tabulator

My suggestion is to first debug this via the browser's console. For me it works as expected

    grid.on("dataFiltering", function(filters){
        //filters - array of filters currently applied
        console.log(`Pre-filter event: ${filters.length} filters`);
        for (let i = 0 ; i < filters.length; i++)
            console.log(Object.entries(filters[i]));
    });
    grid.on("dataFiltered", function(filters, rows){
        //filters - array of filters currently applied
        //rows - array of row components that pass the filters
        console.log(`Post-filter event: ${rows.length} rows`);
        for (let i = 0 ; i < rows.length; i++)
            console.log(Object.entries(rows[i]));
    });

If the console output is OK, then the issue may be with the Node-red messaging.
I noticed something which seems like a bug, where Node-red dashboard resends the last sent message upon page load.
Message sent once but received twice - Dashboard - Node-RED Forum (nodered.org)
Maybe the output you are getting is from an older event?.