In Implementation of the XY interaction family with calibration of a single pulse, the $XY(\beta, \theta)$ gate is defined as
$$ XY(\beta, \theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos(\theta/2) & i\sin(\theta/2)e^{i\beta} & 0 \\ 0 & i\sin(\theta/2)e^{-i\beta} & \cos(\theta/2) & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} $$
Later on, they simplify it so that $\beta$ defaults to $0$ and therefore the following decomposition can be used to build the gate:
from qiskit import QuantumCircuit
import numpy as np
qc = QuantumCircuit(2)
qc.rz(-np.pi/2, 0)
qc.sx(0)
qc.rz(np.pi/2, 0)
qc.s(1)
qc.cx(0, 1)
qc.ry(theta/2, [0, 1])
qc.cx(0, 1)
qc.sdg(1)
qc.rz(-np.pi/2, 0)
qc.sxdg(0)
qc.rz(np.pi/2, 0)
However, I'm interested in also being able to control the phase factor in the two off diagonal center elements. I tried doing controlled-phase gates surrounded with $X$ gates to add phase to $|01\rangle$ and $|10\rangle$ but adds a phase to everything in the central four elements, plus it's costly.
Does anyone have a reference or know a way to implement the two-parameter $XY(\beta, \theta)$ gate that, hopefully, only requires the two $CX$ gates from the $\beta=0$ case or at least doesn't add a lot more $CX$ gates to the original circuit?