You are right about the interpretation of the betas when there is a single categorical variable with $k$ levels. If there were multiple categorical variables (and there were no interaction term), the intercept ($\hat\beta_0$) is the mean of the group that constitute the reference level for both (all) categorical variables. Using your example scenario, consider the case where there is no interaction, then the betas are:
- $\hat\beta_0$: the mean of white males
- $\hat\beta_{\rm Female}$: the difference between the mean of females and the mean of white males
- $\hat\beta_{\rm Black}$: the difference between the mean of black males and the mean of white males
We can also think of this in terms of how to calculate the various group means:
\begin{align}
&\bar x_{\rm White\ Males}& &= \hat\beta_0 \\
&\bar x_{\rm White\ Females}& &= \hat\beta_0 + \hat\beta_{\rm Female} \\
&\bar x_{\rm Black\ Males}& &= \hat\beta_0 + \hat\beta_{\rm Black} \\
&\bar x_{\rm Black\ Females}& &= \hat\beta_0 + \hat\beta_{\rm Female} + \hat\beta_{\rm Black}
\end{align}
If you had an interaction term, it would be added at the end of the equation for black females.