The use of the smaller diameter is theoretically correct.
What is a splice? It is when tension force in a rebar is transferred to the concrete via adhesion and then to another rebar. Since concrete is very weak against tension, large lap lengths are required such that the stress at any point in the concrete is not excessive. However, once the splice is over, all the tension from the first rebar has been transferred to the other one, which must also be capable of withstanding that same tension.
Therefore, if you are splicing two rebars of different diameters, the maximum tensile force that can be transferred via the splice is equal to the yield strength of the smaller rebar. If the tensile force is larger (say, equal to the yield strength of the larger rebar), then the smaller rebar will rupture immediately after the splice. So there's no reason to design your splice to withstand a force larger than the yield strength of the smaller bar.
However, if you are splicing multiple rebars in the same position, going from a few large diameter bars to many smaller ones, an incremement to the splice length may be required.
In the figure below, for instance, assume this is a splice section, with the tension from the large red bars being transferred to the small blue ones. The arrows roughly represent the furthest distance that tension needs to travel from each bar.
The codes usually define a maximum distance between lapping rebars. The Brazilian code NBR-6118 and EC2 both put that limit at $4\phi$ or 50 mm. In this case, there's the question of which $\phi$ to use, and I honestly don't know. However, both codes do allow distances larger than this limit so long as the splice length is increased accordingly. So in cases such as the one pictured above, an increase to the splice length may be necessary to satisfy this requirement.
For reasons I can't quite fathom, though, the Brazilian code explicitly states that splices between different diameters must adopt the larger diameter, so that's what I'm stuck with.