For those that don't want to read the full answer: the answer is yes, you do need to deduct IVs from the perfect all-31 set to get different types from Dark; however, it's possible to minimise the amount of stat points lost by decreasing a useless attacking stat first (how to do this is explained in the answer).
Yes, unfortunately that's why way it is. If you want any Hidden Power type besides Dark, you're going to have to live with imperfect IVs. However, there are some ways around it.
Most Pokemon, unless they're a mixed attacker, with have an attacking stat that they aren't using at all. For example, a Weavile with Icicle Crash, Ice Shard, Knock Off and Low Kick is not using its Special Attack at all. For this reason, it doesn't matter if its Special Attack IVs aren't perfect, and vice versa with special attackers who wouldn't need their Attack stat.
Due to this, there are a few more Hidden Power types available with perfect IVs in the stats that actually matter. However, unfortunately due to how Hidden Power works (a complicated formula that I won't explain now), there aren't many of them. The ones available, assuming every other stat besides the attacking stat in question (on 0) has 31 IVs, are:
- Hidden Power Electric for Pokemon with an even number on their Special Attack.
- Hidden Power Dragon for Pokemon with an even number on their Attack.
- Hidden Power Dark for Pokemon with an odd number on a maximum of one of the two attacking stats (this is why perfect IVs always gives HP Dark since 31 is an odd number).
Not many options available here, are there? Luckily, you can grab even more options by decreasing IVs in other stats. Yes, you won't have the perfect set of IVs, but it's still useful to conserve a few extra points by not using the standard way to get different Hidden Power types, which usually looks something like 30/31/31/30/31/30, thus losing 3 IV points in that example. Here are some examples of types you can get by just decreasing one point off another stat:
Just to clarify for those that don't know, x/x/x/x/x/x = HP/Atk/Def/SAtk/SDef/Spd.
- 31/0/30/31/31/31 makes Ice, a particularly useful Hidden Power type in competitive battling that special attackers can get access to by getting rid of their useless Attack and forfeiting just one Defence point.
- 31/0/31/31/31/30 makes Psychic, once again removing the redundant Attack stat and taking one point off Speed to get Psychic. (It should be noted, however, one Speed point can actually matter in competitive battling, for some Pokemon more so than others based on their base stats. If possible, try not to decrease Speed.)
- 31/1/31/31/30/31 makes Steel. Like usual, by removing some Attack and a tiny bit of Special Defence, you're gaining access to Hidden Power Steel.
If removing one point off one of the stats still doesn't give you the Hidden Power type you're after, try making the attacking stat that's not in use an odd number instead of an even one and vice versa. You'll notice that in the third example I used 1 instead of 0 on Attack; that's because 1 is an odd number and thus gives you a different set of types to work with than 0 does.
If you're still not finding your type, you'll have to remove a second point off your IVs. You could take the two points off the same stat to get 29, or you could spread it out and have two stats on 30 IVs. Whatever works to get the type you want.
By the way, you only need to use IVs of 1 or 0 on the attacking stat that you're lowering, since it only changes depending on whether the number is odd or even, not the actual number. If possible, try to use only 1 or 0, especially if Attack is the stat you're lowering like it normally would be since usually only special attacker use Hidden Power. This is because you actually use your own Attack stat when hitting yourself in confusion, so in case that happens, it's better to use a smaller number so you don't do more damage to yourself. It's also worth it on Special Attack (should you be using Hidden Power on a physical attacker) to mess with Dittos copying your stats.
If you want to play around with IVs and the Hidden Power types they get you, use this calculator (that's also the same one I used in this answer to avoid that annoying formula).
Sorry if this was hard to understand!