It's based on an analogy s : sh :: z : zh, where the first three graphemes already existed in English spelling. Since ⟨z⟩ represents the voiced counterpart to ⟨s⟩, at least some English speakers find it fairly natural to use ⟨zh⟩ to represent the voiced counterpart to ⟨sh⟩.
English speakers have used ⟨zh⟩ for [ʒ] since the 17th century
The first examples I know of ⟨zh⟩ for [ʒ] occur in 17th century authors writing in English about pronunciation and phonetics. It's used in passing in The English primrose, 1644, by Richard Hodges.
Hodges lists the 20 consonant sounds of English that can start or end a syllable (in modern IPA, Hodges' list consists of /l m n r f v θ ð s z ʃ ʒ t͡ʃ d͡ʒ g k d t b p/), in a table with three columns labeled "Their figures -- their names -- their forces". The left column shows the diacritical spellings that Hodges uses to clarify English pronunciation, the middle column gives a name for the consonant sound, and the right column gives an example of the sound in the context of a word.
Sh ſh ɦ̮ ſſ̮i c̮i t̮i----ſhee----------------ſhon
So Hodges is saying here that in his system of notation for English pronunciation, the consonant [ʒ] is written with the symbol "ɦ̯", named "zhee", and occurs in the word "vision".
As shown in the row above, Hodges, as well as some earlier authors such as William Bullokar (1580), used a grapheme shaped like ⟨ɦ⟩, apparently a contracted ligature of "ſh", to represent the sound [ʃ] (which he names "shee", and says occurs in the word "shone").
The modification of this symbol with a diacritic to represent [ʒ] is not found in Bullokar, who doesn't mention the sound [ʒ] based on what I've seen so far.
The brief usage of ⟨zh⟩ by Hodges (as far as I can tell, he uses it only to spell the name of the consonant) suggests to me that he expected his readers to find the digraph ⟨zh⟩ either familiar or intuitive. Because of this, I doubt it would be correct to treat him as the unique inventor of the digraph; it may have existed before him, or been obvious enough that other authors came up with it independently of him.
It probably isn't possible to find earlier examples in English of ⟨zh⟩ for [ʒ]; according to a review by Lee S. Hultzén (published in Language, 34(3), pages 438–442) of R. W. Albright's The International Phonetic Alphabet: Its Backgrounds and Development, the earliest evidence of [ʒ] being noted to exist as a sound of the English language is from 1642 (Hultzén cites Kökeritz and H. C. Wyld for this). Hultzén mentions a couple of further examples of English sources using ⟨zh⟩ for [ʒ] in the following decades after Hodges: Wilkins, 1668 and Holder, 1699 (both of whom describe it as the sound of J as pronounced by the French or "forreiners").
While it remains restricted in use to specialized contexts such as pronunciation respellings, I believe ⟨zh⟩ shows up fairly regularly in the writing of English speakers from then on up to the present. For example, John Walker's Critical Pronouncing Dictionary of English (1791) uses ⟨zh⟩ throughout as the representation of [ʒ].
Use of ⟨zh⟩ for [ʒ] in other languages or transcription or transliteration systems is later, and may be based on English
The analogy s : sh :: z : zh will apply equally well in other languages, transcription systems, or transliteration systems that use the symbols ⟨s sh z⟩ to represent something like [s ʃ z]. As far as I know, the use of the digraph ⟨sh⟩ to represent [ʃ] is ultimately based on English, so I think the use of ⟨zh⟩ will likewise ultimately trace back to influence (either direct or indirect) from English spelling patterns.
Albanian: since 1908
As "jk - Reinstate Monica" said in a comment, the digraph ⟨zh⟩ has been used to represent [ʒ] in the Albanian language since the Congress of Manastir in 1908. As the current Albanian standard postdates the attested examples of ⟨zh⟩ = [ʒ] usage by English speakers, it cannot be the original source of the English usage, and I would guess that the English usage actually had some influence on the Albanian use of the digraph.
Prior to that date, ⟨zh⟩ was used in the Albanian Bashkimi alphabet, but it represented [dʒ] in that spelling system.
Per the linked Wikipedia article, in the Bashkimi system, palatal and sibilant affricates are represented as ⟨c ts ch z zh⟩ = /c~tɕ ts tʃ dz dʒ/ and sibilant fricatives are represented as ⟨s sh x xh⟩ = /s ʃ z ʒ/. Setting aside the outlier of ⟨c⟩ and ⟨ts⟩ vs. ⟨ch⟩, we see a regular analogical relationship between the sets ⟨s sh⟩, ⟨z zh⟩, ⟨x xh⟩, but with the symbols for voiced sibilant affricates and fricatives flipped around compared to the modern Albanian alphabet.
Chinese pinyin: since 1950s
The Chinese romanization system Hanyu Pinyin, developed in the 1950s, uses the system ⟨s c z sh ch zh⟩ = [s t͡sʰ t͡s ʂ t͡ʂʰ t͡ʂ]. (Although it's not uncommon for English speakers to use the value /ʒ/ when pronouncing Chinese words spelled with "zh" based on the spelling.) This also shows a clear analogical relationship between single letters and corresponding digraphs ending in H, an aspect which I imagine was partly influenced by the English digraphs SH, CH and ZH, as well as showing influence from other languages' writing systems (such as the use of C and Z to represent sibilant affricates in various European languages; and Pinyin's use of Q for [tɕʰ] may be based on the modern Albanian use of Q for [c~tɕ]).
Although I don't know its history in detail, I'm sure that the transliteration of Russian Ж with ZH is based on the preexisting use of ⟨zh⟩ by English speakers.
Native American languages
The digraph ⟨zh⟩ is used for /ʒ/ in a number of native North American languages, such as the Navajo language; I think it's fairly obvious that this is due to influence from English spelling.