Devarim 11:18 says to put "these words" on our heart and soul. While soul is definitely allegoric, the heart is probably not. So why we do not wear heart part of tefillin?
This is a good question and worth looking at carefully. Devarim 11:13-17 is addressing the subject of reward and punishment. Verse 11:18 begins as you say but is not talking about tefillin. The 'heart' is spelled with a double 'bet' (לבבך), as contrasted with a single 'bet'. (לבך)
שַׂמְתֶּם אֶת דְּבָרַי אֵלֶּה עַל לְבַבְכֶם וְעַל נַפְשְׁכֶם וּקְשַׁרְתֶּם אֹתָם לְאוֹת עַל יֶדְכֶם וְהָיוּ לְטוֹטָפֹת בֵּין עֵינֵיכֶם:
It is actually talking about the dual inclinations within each human being, the inclination for good and the inclination toward bad. We are to place these words upon our inclinations. The concept of being rewarded for good is to be placed upon our inclination for good, our 'Yetzer HaTov', in order to promote alacrity (זריזות). And the concept of punishment for bad behavior is placed upon our inclination for bad, our 'Yetzer HaRah', in order to encourage it to refrain from bad acts.
You 'bind them', meaning your two inclinations, through these words about reward and punishment as a sign over your 'weaker hand' and your 'soul'. The 'nefesh' is referring to that aspect of soul which connects with the physical and action, the 'animating soul' and your 'hand' means your actions. And they, the concepts of reward and punishment, will be a double sign 'between your eyes, meaning over your thoughts.
this doesn't refer to tefillin but in regards to our commitment to the commandments which apply to us every day. They should be so important to us that we "take them to heart". The part of the shema that is the source for the mitzvah of tefillin is, "You shall bind them as a sign upon your hand, and they shall be for a reminder between your eyes."
This is why we have toirah shebaal peh so we don't have to invent the meaning ourselves. G-d has already told us how to interpret the commandments.