Subintervals during backward search of a BWT
The answer is deceptively simple. After a paired $rank$ query for a character $P[i]$ you can compute the positions of $P[i]$ in the BWT by performing a paired $select$ query with the ranks from the paired $rank$ query. As seen in the image below taken from the linked example in the question, the character at position $i$ in a BWT is the left extension of the suffix at position $i$ in the corresponding suffix array. This means the positions of $P[i]$ in the BWT found by the paired $select$ query are also the subinterval of $P[i+1]$'s interval that lead to $P[i]$'s interval.

In other words, the subinterval can be computed during the paired $rank$ query with a complimentary paired $select$ query as follows
\begin{align}
r_s &amp;= rank(s-1, P[i]) + 1 \\
r_e &amp;= rank(e, P[i]) \\
s^\prime &amp;= C[P[i]] + r_s \\ 
e^\prime &amp;= C[P[i]] + r_e \\
s^{\prime\prime} &amp;= select(r_s, P[i]) \\
e^{\prime\prime} &amp;= select(r_e, P[i])
\end{align}
where $s^{\prime\prime}$ and $e^{\prime\prime}$ denote the subinterval of $s$ and $e$ that lead to the $P[i]$ interval $s^\prime$ and $e^\prime$. As previously described, $s^{\prime\prime}$ and $e^{\prime\prime}$ are also the positions of $P[i]$ in the BWT.