Not sure of etiquette regarding hats vs fascinators at races. My thought is you might want a bit of sun protection with racing all being done outside. It seems the few Royal articles and photos show them being practical with wider brim hats in sun, fascinators on with activity both inside and outside buildings, drest up not casual locations.
As for keeping hat on, pinning is good if the pins do NOT show. Something the Driving ladies do, is run elastic from hat sweatband area down under hair at the back of your neck. Elastic is covered by hair, helping keep hat firmly on your head despite breezes. Smaller brims donāt catch the wInd lIke wide brims will. Trailing feathers, flowers, scarves, will also catch breezes, pull on your hat, get in your way.
If you wear a hat, plan to keep it on until you are done to avoid showing āhat hairā to the world. My hair is curly, never looks good after having a hat on!! Perhaps your hair will stay nice, but you will want a mirror and privacy to learn the truth upon removal. Ha ha
Hat makers, Miliners, I know are Hats Off Botique with Sherri Lower. Hats By Katie, with designs by Katie Whaley. These are aimed mostly at the Driving and Coaching folks, but they both will work with you to create what you want in colors and flattering shapes. I am sure they could create lovely fascinators for evening showing or day wear. Lots of gorgeous hats from both places! One maker I saved for wide variety of hats on their site is, Salmagundies of Boston . I had fun wandering thru the pictures. Sorry no links on this tablet, but a search should let you find them easily.
You might consider creating your own hat or fascinators from a basic hat form or wide band, add desired decorations yourself. Quality head gear is not cheap. Looking at hats in a shop can give you ideas, show construction details for making your own. Practice wearing it so you are comfortable with it on, find any lumps or pinch spots to fix before having to wear it all day.
Best of luck with your head covering and have a great time at the races!