In my experience each dictionary varies in its ability to break the words down, because that's usually not done by an automatic tool but manually by the dictionary's composer.
It's not easy to automate this because some affixes got changed a bit when applying to the roots (most commonly occur when the 2 merging ends are 2 vowels), and sometimes what looks like an affix isn't a real affix. For example
-emia actually contains the suffix
-ia, but should you split the infix
-em- as well? In Latin there are a lot of infixes like
-de-... which are almost impossible for the machine to know where to split
As a result it's better to compare the result from various sources
It seems TheFreeDictionary often does the best work of showing the full etymology. This is what you get for hypokalemia:
[hypo- + New Latin kalium, potassium (from Medieval Latin kali, alkali, potassium, from Arabic qily, ashes, lye, potash; see alkali) + -emia.]
You can click the
-emia links to get more detailed meanings
Meriam-Webster also gives the same information for hypokalemia but not for many other words
Wiktionary is a good source of etymology, too. It's often the one with most detailed information about a word across languages.