Did you say different? My browser renders those "different" examples identically:
They are definitely encoded differently, because a search for
ه will only highlight one of the two:
So what's going on?
Arabic and related scripts type characters differently depending on their position in a word. Let's just consider the plain ﻩ (h) for a moment:
So far so good. This is, for all intents and purposes, the "Arabic ه" as you phrased it, since it's the only one you will run into when reading Arabic, and the most common form of h ه you will encounter elsewhere.
One big exception to this are the Arabizations of the Eastern Indo-Aryan languages which split ه into two: the "freeform" choṭī he and the "two-eyed" docašmī he.
The tricky part is that not all languages (neither all fonts) spell their choṭī and docašmī he's identically.
||Naskh choṭī he
||Naskh docašmī he
||Sindhi docašmī he
Sindhi does not actually have a choṭī he, unlike Urdu. So Sindhi employs additional letters for aspirated consonants (with the exceptions of جهي and گهي). The Sindhi docašmī he, which is closer to the Arabic ﻩ, fulfills the role of choṭī he in Urdu. It is used for the
h sound and vowels, in Sindhi.
But if you look closely in the final and lone positions it visually resembles the Naskh choṭī he. So, to type these on a computer, Sindhi speakers can substitute the Naskhi choṭī he. This is why Sindhi Wikipedia shows a lot more ﻩ's than ـہ's, h just occurs in non-final positions more frequently.
In conclusion, in Sindhi ھ and ہ are the same letter, but are represented by different codes because those codes were originally designed to accommodate Arabic and Urdu typography. This is just how Sindhi speakers have adapted.