题主举的 free food 和 food-free 这两个例子,free 都是「免除」的意思。
free food 的 free 是指 free of charge (免除费用, 禁止收费) ,所以 free food 就是「免费食物」。
food-free 就是 free from food ,可以理解为「免于食物」【有点像「免于遭受食物的威胁」这样的意思】,所以是禁止食物。
我一直强调英汉词典很害人,因为英汉词典直接给你译文。这样你无法体验「感悟」这个词的过程,而只得到悟出来的结果,可以翻译成什么。这样你根本无法感悟到这个词的真正意思。类似的情况还有: