From these examples, it looks as if "ter medo" may express a general fact while "estar com medo" expresses feeling afraid in real time.
I’ve always been afraid of cockroaches. (Eu sempre tive medo de barata.)
He’s not afraid of losing. (Ele não tem medo de perder.)
She was afraid to cross the river. (Ela estava com medo de atravessar o rio.)
So long as a literal translation is perfectly fine, it should ☆always☆ be accepted, imho, especially when one is not doing an English course!
Instead, a more common expression can and should be but suggested, rather than enforced.
Therefore, anything like "I do not have fear" must always be ok when learning Portuguese, no matter how many English natives ...which wildly vary... would more instinctively use "I am not afraid." x percent more often.