Write a function to identify and remove duplicate records from an incoming JSON dataset based on a composite key.
Implement deduplicate_records(records, key_fields). records is a list of JSON objects, and key_fields is a non-empty list of field names. Two records are duplicates when all corresponding values for key_fields are equal. Return a new list containing the first record for each composite key, preserving input order. Assume every key field exists and contains a JSON scalar value.
def deduplicate_records(records, key_fields):