My DD used to be a little like this, very fussy with textures and new foods and didn't eat large amounts. Really feel for you as it is frustrating and stressful! I think PP's advice below is spot on, but I know it's really hard to do! ...
So so difficult. I would stop all and any mentions or discussing of food or meal times. I would have meals and serve his but not ask him to join in, just carry on without referencing it. After you’ve finished leave his out for a period of time. Don’t mention it or even look at the food. Afterwards get rid of it quietly. Take every single bit of attention away from the food. Follow all his food rules, ie not touching, food he previously would eat and see if this eases things . You can always return to the new things at a later date.
I was also going to say, I think the health professionals can get a bit too hung up on weight and make you worry more. My older DD is a small build and used to barely eat any of her packed lunch aged about 5/6 - I think the school fruit and milk filled her up - but now she's 8 she does eat most of it as she's bigger. Now my younger DD (nearly 6) often doesn't eat her lunch, but catches up at other meals.
Also I'm finding they're naturally less hungry at the moment as they're obviously not going out / running around as much. So I wouldn't worry if he refuses the odd meal.
The other thing both of mine have always done since being babies is not being hungry if they've not pooed for a day or two - then once they have, they're hungry again! Only mentioning that as you mentioned him not pooing.
Overall I think the no-fuss approach is best, but I know it's really hard.