Regarding the ingest timestamp, I recommend this.
Regarding your scripted metric: Will you have duplicates in the data? E.g. what if a person updates the contact information? I wonder if you additionally want the latest value. Now you return the 1st. Which might not even be the 1st in terms of time or index order, but the 1st that 1 shard answers.