The figure you included in your question references the paper Addition on a Quantum Computer by Draper. Qiskit has implemented this circuit natively, which you can construct as follows.
from qiskit.circuit.library import DraperQFTAdder
adder = DraperQFTAdder(2).decompose()
adder.draw(output="text")
a_0: ─────────■──────■───────────────────────
│ │
a_1: ─────────┼──────┼────────■──────────────
┌──────┐ │P(π) │ │ ┌───────┐
b_0: ┤0 ├─■──────┼────────┼─────┤0 ├
│ QFT │ │P(π/2) │P(π) │ IQFT │
b_1: ┤1 ├────────■────────■─────┤1 ├
└──────┘ └───────┘
So, looking at your question, it seems like you misplaced the control qubit of a controlled-P qubit, as your second qubit is never acted on by any gate, but be careful to take into account Qiskit's endian convention when thinking about this.
Running this naively for all inputs, I got:
import itertools
from qiskit import QuantumCircuit, Aer, transpile
from qiskit.quantum_info import Statevector
backend = Aer.get_backend('qasm_simulator')
for l in list(itertools.product([0, 1], repeat=4)):
qc = QuantumCircuit(4)
for i, bit in enumerate(l):
if bit == 1:
qc.x(i)
qc.append(adder, [0, 1, 2, 3])
qc.measure_all()
qc = qc.reverse_bits()
job = backend.run(transpile(qc, backend), shots=1024)
print(f"Input: {l}. Result: {job.result().get_counts()}")
Input: (0, 0, 0, 0). Result: {'0000': 1024}
Input: (0, 0, 0, 1). Result: {'0001': 1024}
Input: (0, 0, 1, 0). Result: {'0010': 1024}
Input: (0, 0, 1, 1). Result: {'0011': 1024}
Input: (0, 1, 0, 0). Result: {'0101': 1024}
Input: (0, 1, 0, 1). Result: {'0100': 1024}
Input: (0, 1, 1, 0). Result: {'0111': 1024}
Input: (0, 1, 1, 1). Result: {'0110': 1024}
Input: (1, 0, 0, 0). Result: {'1010': 1024}
Input: (1, 0, 0, 1). Result: {'1011': 1024}
Input: (1, 0, 1, 0). Result: {'1001': 1024}
Input: (1, 0, 1, 1). Result: {'1000': 1024}
Input: (1, 1, 0, 0). Result: {'1111': 1024}
Input: (1, 1, 0, 1). Result: {'1110': 1024}
Input: (1, 1, 1, 0). Result: {'1100': 1024}
Input: (1, 1, 1, 1). Result: {'1101': 1024}
This, I think, is what you expected in your table if you take into account the endian notation for each register individually (so, e.g., the input (0, 1, 0, 1) is doing $(2 + 2) \mod 4 = 0$). But you can check the documentation for the adder in more detail to confirm.