Word splitting requires complex lookup, but it could have been easier if the designers for storing Arabic text in Unicode enforced some sort of separator.
For most cases using "space" would suffice to parse words but not if you are trying to break words into their actual constituents.
As to your question about "وهو" they are by all means two words (English sense).
Unfortunately the way they are stored electronically there is no intentional or an enforcing mechanism to keep a word separation like space in between them (human short insights).
I believe a space should have been in the stored/encoded text especially like the digital Quranic text. (not what a user would see in an editor)
As to the rendering I would argue it's purely a style of the font or person that the letter (Harf) Waw and Hu-Wa are glued together.
The same would be true for other similar letters life "Fa" AKA "Huruf Al-3atf"
so for example "فهو" should be stored "ف" space "هو" and only as the last step in the graphical rendering system it would be painted as glued.
I believe this would simplify searching for certain words without requiring a complex morphological lookup.
in html like so: