You can get an exact confidence interval using a relevant pivotal quantity
In the present problem you can obtain the exact distribution of the MLE. Since $X_i \sim \text{Exp}(\text{Scale} = t_i \beta)$ it follows from the scaling property of the distribution that $X_i/t_i \sim \text{Exp}(\text{Scale} = \beta)$, so you have:
$$\hat{\beta} = \frac{1}{n} \sum_{i=1}^n \frac{X_i}{t_i} \sim \text{Ga} \bigg( \text{Shape} = n , \ \text{Scale} = \frac{\beta}{n} \bigg).$$
This allows you to form the pivotal quantity:
$$\frac{\hat{\beta}}{\beta} \sim \text{Ga} \bigg( \text{Shape} = n , \ \text{Scale} = \frac{1}{n} \bigg).$$
Suppose we compute the critical points $L_\alpha < U_\alpha$ that give the highest density region for this gamma distribution with coverage level equal to the confidence level $1-\alpha$. Then we have:
$$\begin{align}
1-\alpha
&= \mathbb{P} \bigg( L_\alpha \leqslant \frac{\hat{\beta}}{\beta} \leqslant U_\alpha \bigg) \\[6pt]
&= \mathbb{P} \bigg( L_\alpha \beta \leqslant \hat{\beta} \leqslant U_\alpha \beta \bigg) \\[6pt]
&= \mathbb{P} \bigg( \frac{\hat{\beta}}{U_\alpha} \leqslant \beta \leqslant \frac{\hat{\beta}}{L_\alpha} \bigg) \\[6pt]
&= \mathbb{P} \bigg( \beta \in \bigg[ \frac{\hat{\beta}}{U_\alpha} , \frac{\hat{\beta}}{L_\alpha} \bigg] \bigg), \\[6pt]
\end{align}$$
which gives you the resulting confidence interval:
$$\text{CI}(1-\alpha) = \bigg[ \frac{\hat{\beta}}{U_\alpha} , \frac{\hat{\beta}}{L_\alpha} \bigg].$$
This is an "exact" confidence interval in the sense that it does not require an approximating distribution for the pivotal quantity and so it gives true confidence level equal to the stipulated confidence level (assuming the model assumptions hold). Since the likelihood ratio is a monotonically increasing function of the ratio of the MLE over the true scale parameter, this confidence interval is the appropriate implementation of the LR test.
Implementation in R: This method can be implemented in R using the HDR functions in the stat.extend package. Here is an example.
#Generate some mock data
set.seed(1)
SCALE <- 3
t <- c(3, 4, 5, 4, 7, 2, 2, 8, 3, 5, 4, 2, 6, 4, 4, 2, 4, 5, 3, 5,
1, 3, 6, 3, 2, 2, 4, 2, 5, 1, 1, 5, 6, 8, 3, 4, 2, 5, 3, 4,
4, 3, 2, 3, 1, 5, 4, 5, 1, 3, 4, 6, 3, 5, 6, 2, 4, 4, 3, 1)
n <- length(t)
x <- rexp(n, rate = 1/(t*SCALE))
#Compute MLE and confidence interval
alpha <- 0.05
MLE.SCALE <- mean(x/t)
HDR.GAMMA <- stat.extend::HDR.gamma(cover.prob = 1-alpha, shape = n, rate = n)
CONF <- c(MLE.SCALE/max(HDR.GAMMA), MLE.SCALE/min(HDR.GAMMA))