Динамически добавить elif ветки в функцию?
Именно "динамически добавить elif ветки в функцию" никак, а альтернатив вы просите не предлагать.
Можно использовать exec для создания функции из строки, но помните, что функция exec небезопасна.

FUNCTION_SOURCE = """def __intermediary_func(digit_val: int):
    if digit_val == 1:
        pass"""

def some_func(digit_val: int, alt_branches_count: int):
    intermediary_func_source = FUNCTION_SOURCE
    for i in range(0, alt_branches_count):
        intermediary_func_source += f"""
    elif digit_val == {i+2}:
        pass"""
    exec(intermediary_func_source, globals())
    print(intermediary_func_source)
    return __intermediary_func(digit_val)

In [14]: print(some_func(10, 3))
def __intermediary_func(digit_val: int):
    if digit_val == 1:
        pass
    elif digit_val == 2:
        pass
    elif digit_val == 3:
        pass
    elif digit_val == 4:
        pass
None