Why is タ used instead of ソ in 外 despite it's read as ソト?
As you may or may not be aware, Japanese employs three writing systems: Hiragana, Katakana, and Kanji.
Hiragana and Katakana, collectively called Kana, are phonetic writing systems that were developed and modeled after Kanji. Hiragana came about from a modification of cursive script of certain Kanji, whereas Katakana are pieces of these Kanji, repurposed and ascribed with a phonetic value.
Kanji, however, are essentially ideographs, meaning that they represent an idea, and not a sound. While Katakana may have been derived from pieces of Kanji, it unfortunately does not work the other way -- It doesn't make much sense to put Katakana together to form a Kanji and expect it to be read a specific phonetic way, unlike how Korean works by making symbols from the combination of pieces.
For this reason, observe that even though the Kanji 外 appears to be composed of Katakana タ and Katakana ト, it is actually not made of either of these. It is not read タト(tato) and thus replacing タ for ソ would not be correct because we shouldn't be trying to modify the written character so that it matches a reading it has. That's because 外 can be read in other ways, as well. Consider these words in which it appears:
If we were to try to use that logic to figure out how to read other Kanji, how would we read something like 青 or 終?
Then, we have to consider that the Kanji 外 is essentially one contiguous symbol that has a meaning, not a sound. I suggest you read more about how Kanji are put together, and how radicals work, before continuing to use them.