1. These type of customization does not require a child theme. A Header Element is actually a Custom Post Type, so not a lot of difference to a Post or a Page.
2. Answered above 🙂
3. Child Themes are only necessary if you want to directly edit one of the Theme template files.
They are generally required if you want to add Local Fonts.
They are recommended if you have a lot of Custom CSS (like 500+ lines) or lots of custom PHP functions.
4. Changes made within the theme customizer, adding CSS to Additional CSS, creating Header elements etc will remain intact when the theme updates.
4.1 The only things that get overwritten is if you have been naughty and edited the GP Theme files without doing point 3 🙂
As a note, most of the Sites use Custom CSS, this is added to Customizer > Additional CSS. Some sites have a lot more then others, mine in particular. Volume and Dispatch have 400 lines, which i suggest may be nicer if it was moved to a child theme but not necessary.