Hi OP - he sounds quite similar to my son - he has HFA and the start of getting him diagnosed was his food issues (although with his it was gagging).
He ate quite well until around 2 when 6 months of hellish infections led to him basically eating:
Weetabix
Fruit purée
Yoghurts
Chips
Crisps
Rice cakes
Toddler tray meals of cottage pie
Peanut butter sandwiches
He didn’t lose weight but he’s always been a good milk drinker. Less good with water.
Being tough didn’t work and it felt horribly inappropriate the few times I tried. He’d cry, vomit, panic etc and I decided that I was going to leave it until he was older and fed him mostly cereal, fruit purée yoghurts and peanut butter - sometimes he had cereal for breakfast.
Just before he started Reception I decided that he was ready and I talked to him about it. I said we’d have a game called ‘New Food’. I said he HAD to try it but if he really didn’t like it I wouldn’t force him.
I purposely chose food I knew he’d like. I allowed him to feel safe and try the diversions he needed to make it easier. He needed me to count to 20 in twos whilst he covered his mouth. Sometimes he needed me to feed him.
I waited until a new food was ‘bedded in’ until moving to something else.
He now eats (in addition to the above)
Pizza
Chicken nuggets
Burgers
Toast
Cheese
Cheese toasties
Sweet corn
Mixed veg (mashed with butter)
Baked potatoes
Spaghetti hoops
Apples
Raisins
Ham (reluctantly)
Macaroni cheese
Homemade cottage pie
Pasta bolognese
This has been life changing as we can now eat out, eat with friends, he’s not looked at like he’s weird and it’s made him more confident.
Still a long way to go but we make progress every week.
In your position OP is just give him whatever he wants even if that crisps and chocolate milk and make changes little by little.
It’s very difficult and emotive and I know how you feel.
I also used foods he liked as a reward if he tried new stuff and always give him a choice for dinner so he feels he has some control.