The documentation encourages us to do this when needed for flexibility reasons:
If you just want to be flexible about what JSON to accept for a particular property, an alternative is to deserialize into JsonElement or JsonNode. Any valid JSON property can be deserialized into JsonElement or JsonNode. Choose JsonElement to create an immutable object or JsonNode to create a mutable object.
Having a JsonElement property obviously handles this correctly. My question is about using JsonSerializer.Deserialize<JsonElement>(someString).