Okay, I found the recursive formula. It is a bit of a monster to look at, but it always simplifies into a function that consists of 2 straight lines, starting at (0, 1), decreasing until it reaches a minimum, then increasing over the rest of the domain we are interested in.
For reasons currently beyond my comprehension, that monster expression "EV for lynching a pair" ALWAYS simplifies to 1 - x for every setup I have tried. The somewhat less monstrous expression "EV for lynching a loner" always simplifies to ax + b, where a and b are between 0 and 1.
And assuming the "EV for lynching a pair" expression really does always simplify to 1 - x, then it would be true that the lowest EV mafia can achieve for town is always equal to 1 minus the probability that they make the loner mafia with optimal choice.
Here are some functions I have found already for your amusement. Maybe you can see a pattern? The EV for each is just 1 minus the minimum x value.
EV(2, 1)(x) = max(1-x, x), min @ x = 1/2
EV(4, 1)(x) = max(1-x, 1/2 x + 1/2) min @ x = 1/3
EV(6, 1)(x) = max(1-x, 1/3 x + 2/3), min @ x = 1/4
EV(3, 2)(x) = max(1-x, 1/2 x) min @ x = 2/3
EV(5, 2)(x) = max(1-x, 1/3 x + 1/3) min @ x = 1/2
EV(7, 2)(x) = max(1-x, 1/4 x + 1/2), min @ x = 2/5
Sadly, my function started producing nonsense results when I tried to evaluate EV(4, 3). I believe the cause for this is that my assumption that mafia should never make an MM pair only holds for m = 2, or at the very least does not hold for m = 3.