It seems that HTTP.toEvent, at least in BINARY mode, looks up extensions in header names starting with "ce-" prefix, however, it looks among original headers supplied in unknown case rather than sanitized headers which are lowercase.
So e. g. "Ce-myext: val" is ignored and doesn't make it into final event's "myext" field.