I have an experiment I have run, and I am testing for heterogeneous treatment effects (pre-registered and not fishing for any particular result!). Let's call the outcome $Y$ and the treatment variable $W$. I have two variables, each of which I think could be responsible for heterogeneous treatment effects, let's call them $A$ and $B$. These two are correlated with each other but not so much as to pose a problem with multicollinearity, and $A$ is dichotomous while $B$ is continuous. Lastly, Let's say I have a set of control variables $X$. I am using linear regression to analyze the results.
The most basic model with no heterogeneous treatment effects would be:
$Y = \beta_0 + \beta_W * W$
Another model would be using $A$ as an interaction term for heterogeneous treatment effects, and including a set of control variables I think might confound the relationship when including this interaction term:
$Y = \beta_0 + \beta_W * W + \beta_A * A + \beta_{INT} * W * A + \beta_X * X$
Testing for heterogeneous treatment effects would then be a matter of testing for a significant difference between the case where $A = 0$ and $A = 1$.
However, I am worried that any significant interaction effect I find might be due to $B$ instead of $A$. Additionally, it seems wrong to include $B$ in the control variables ($X$) because that wouldn't appropriately take the potential interaction into account. What is the best way to test for whether $B$ or $A$ is responsible for the interaction? Would an F-test be appropriate here, i.e. constructing a new model with $B$ instead of $A$, or would controlling for the other variable in the regression model be sufficient? When I do settle on one of these variables for heterogeneous treatment effects, should I include the other as a control variable?
Edit: To further clarify the question, I am mainly interested in adjudicating between A and B as potential sources of effect heterogeneity, but I'm unsure of the appropriate statistical test for doing so.