There are 6 types other than Ghost that have an immunity:
- Normal (Ghost)
- Ground (Electric)
- Flying (Ground)
- Dark (Psychic)
- Steel (Poison)
- Fairy (Dragon)
Each of these types has 1 immunity, so a dual-type with 2 types from this list would have 2 immunities. A lot of Pokémon fit this description. Like, a lot. And they are:
- Normal/Ground: Diggersby
- Normal/Flying: Pidgey, Pidgeotto, Pidgeot, Mega Pidgeot, Spearow, Fearow, Farfetch’d, Doduo, Dodrio, Hoothoot, Noctowl, Taillow, Swellow, Swablu, Starly, Staravia, Staraptor, Chatot, Pidove, Tranquill, Unfezant, Rufflet, Braviary, Fletchling, Pikipek, Trumbeak, Toucannon
- Normal/Dark: Alolan Rattata, Alolan Raticate, Galarian Zigzagoon, Galarian Linoone, Obstagoon
- Normal/Fairy: Jigglypuff, Wigglytuff, Igglybuff, Azurill*, Mega Audino
- Ground/Flying: Gligar, Gliscor, Landorus (Incarnate Forme), Landorus (Therian Forme)
- Ground/Dark: Sandile, Krokorok, Krookodile
- Ground/Steel: Alolan Diglett, Alolan Dugtrio, Steelix, Mega Steelix, Excadrill, Galarian Stunfisk
- Flying/Dark: Galarian Moltres, Murkrow, Honchkrow, Vullaby, Mandibuzz, Yveltal
- Flying/Steel: Skarmory, Celesteela, Corviknight
- Flying/Fairy: Togetic, Togekiss
- Dark/Steel: Pawniard, Bisharp
- Dark/Fairy: Impidimp, Morgrem, Grimmsnarl
- Steel/Fairy: Mawile, Mega Mawile, Klefki, Magearna, Zacian (Crowned Sword)
There’s also multiple abilities that grant type immunities:
- Dry Skin (Water)
- Flash Fire (Fire)
- Levitate (Ground)
- Lightning Rod (Electric)
- Motor Drive (Electric)
- Sap Sipper (Grass)
- Storm Drain (Water)
- Volt Absorb (Electric)
- Water Absorb (Water)
If we count those, these Pokémon also have 2 immunities:
- Dry Skin + Normal: Helioptile, Heliolisk
- Flash Fire + Dark: Houndour, Houndoom
- Flash Fire + Steel: Heatran
- Levitate + Ground: Vibrava, Flygon, Baltoy, Claydol
- Levitate + Dark: Hydreigon
- Levitate + Steel: Bronzor, Bronzong
- Levitate + Fairy: Galarian Weezing
- Lightning Rod + Steel: Togedemaru
- Motor Drive + Flying: Emolga (hidden)
- Sap Sipper + Normal: Girafarig (hidden), Stantler (hidden), Miltank (hidden), Azurill (hidden)*, Deerling, Sawsbuck, Bouffalant, Drampa
- Sap Sipper + Fairy: Marill (hidden), Azumarill (hidden), Azurill (hidden)*
- Storm Drain + Ground: Shellos, Gastrodon
- Water Absorb + Ground: Wooper, Quagsire, Tympole (hidden), Palpitoad (hidden), Seismitoad (hidden)
- Water Absorb + Flying: Mantine, Mantyke
- Water Absorb + Dark: Cacnea (hidden), Cacturne (hidden)
So, yeah, there’s plenty of Pokémon with 2 immunities that aren’t Ghost.
*Azurill is listed three times. It’s a Normal/Fairy type with Sap Sipper as a hidden ability, which means that it’s the only non-Ghost Pokémon that can have THREE immunities.