You have some kind of error here: with T_c = T_h, not only does Wikipedia’s formula give 0% efficiency, but it must: any power at all generated with no temperature difference would make a perpetual motion machine.
Sorry, I was ignoring the left side (the T_h - T_c / T_h) part of the formula to see the relative change from changing zT from 2.5 to 5.0. Effectively I was looking at the relative efficiency of the high zT material in the limit as T_h approaches T_c. Which as you point out, drives the real individual efficiencies to zero. I was just trying to get the "best case" scenario.
Would also point out that for the IoT like applications, the assumption of T_c ~= T_h isn't so bad. For example, if you wanted something powered off residual body heat, you're looking at something like 293/310 = 0.945. For
For T_c=293 and T_h=303, you get efficiency = 1.4% for zT=5 and efficiency = 1.0% for zT=2.5. So about a 40% relative increase as OP calculated and negligible absolute change.
Improving from 1% to 1.4% is a huge improvement. It’s 40% more cooling for a given power input or 40% more power output for a given amount of heat consumed. Alternatively, it means you consume only 1/1.4 the resources to achieve your goal.
This does not imply that 1.4% efficiency is enough to be useful for most applications, of course.
Would also point out that for the IoT like applications, the assumption of T_c ~= T_h isn't so bad. For example, if you wanted something powered off residual body heat, you're looking at something like 293/310 = 0.945. For