Thank you for your query.
I should compliment you on your observation. It appears that your son is allergic to one of the things that you have listed. This can initiate a cough
which persists during the night. Out of the items listed by you only one or at the most two are the culprit. You can challenge him to one of the items every week and observe which is the culprit and avoid it from his enviroment. This shall control his cough.
I hope I have answered your query to your satisfaction.