I managed to fix the issue. I found out the RulesEngine can accept ExpandoObject. So I needed a way to convert the JSON to an expando but System.Text.Json not very good at handling this type of conversion out of the box.
C# - Deserializing nested json to nested Dictionary<string, object>
This gave me the Converter called the ObjectAsPrimitiveConverter. This does what I need to convert the object without the whole ValueKind meta data within it that causes problems.
It took a lot of digging to find.