The appropriate word is "is" if the thing is currently unhealthy. It's only the act of eating that occurred in the past, and that's what the "have been" applies to.
I have been eating something that was unhealthy.
implies that the "something" you used to eat is no longer unhealthy, which has a different meaning.
We absolutely can't use the future tense there. It's just not idiomatic when followed by words such as: after, the moment/minute, as soon as, until, before, etc.
In English, it's not possible to say: until I will turn up. Maybe it is in some other languages. So this issue could be perceived as false translation.
@stangton It surely is a very frequently ...