In High threshold universal quantum computation on the surface code VI(C), Injecting $Rx(\pi/2)$ is claimed to be done with the following circuit

The paper says that if we want to do $Rx(\pi/2)$, we might have done $ZRx(-\pi/2)$ instead. This can be corrected by applying a Z followed by an X gate.
I do not get an $Rx(\pi/2)$ gate when I simulate this circuit and apply the recommended corrections. Below is the circuit that I believe follows what the paper is saying (with an $Rx(\pi/2)$ tacked on at the end in order to on the whole be perform an X gate so that we can see the gate's effects in the results).
0: ───H───S───X───────────Z───X───Rx(0.5π)───M('qubit')───
│ ║ ║
1: ───────────@───H───M───╫───╫───────────────────────────
║ ║ ║
a: ═══════════════════@═══^═══^═══════════════════════════
import cirq
import numpy as np
qubits = cirq.LineQubit.range(2)
c = cirq.Circuit(
cirq.H(qubits[0]),
cirq.S(qubits[0]),
cirq.CX(qubits[1], qubits[0]),
cirq.H(qubits[1]),
cirq.measure(qubits[1], key='a'),
cirq.Z(qubits[0]).with_classical_controls('a'),
cirq.X(qubits[0]).with_classical_controls('a'),
# Tack on this RX(pi/2) so an X gate is performed
cirq.rx(np.pi/2).on(qubits[0]),
cirq.measure(qubits[0], key='qubit'))
results = sim.run(c, repetitions=100).histogram(key='qubit')
print(results)
This prints Counter({0: 100}) when the expected answer should be Counter({1: 100}). This circuit seems to be performing an $Rx(-π/2)$ gate instead of an $Rx(π/2)$ gate. Is that right?
