In majāz a preventing contextual indicator excludes the original literal sense. If “asad” (lion) is applied to a brave person, contextual evidence that prevents an actual lion from being intended establishes a figurative use.
Kināyah differs because the literal sense can in principle remain intended: the sword strap in “ṭawīl al-nijād” may actually be long. Both techniques can convey a meaning indirectly, but the status of literal meaning and the force of context differ.
It is not enough to identify an expression as an idiom. One must ask whether the wording's literal sense has been ruled out as a possible intention.