If you roll a fair 6-sided die and then flip a fair coin that number of times, what is the probability that you will get at least two heads? My idea is to use disjoint events and calculating the probability of getting at least two heads for each number rolled. For example, if I roll a 3, I would calculate the probability with the expression $(\frac{1}{6}) (\frac{1}{2})^3 \binom{3}{2} + (\frac{1}{6}) (\frac{1}{2})^3\binom{3}{3})= \frac{1}{12}$ and then add up the probabilities of getting at least two for each rolls, since the events are disjoint, summing to $\frac{67}{128}$. Is this a valid solution? Is there a better approach to solving this problem?

It is valid. You find that P(at least 2 heads|die=1) = 0, P(at least 2 heads|die=2)=1/4, P(at least 2 heads|die=3)=1/2, P(at least 2 heads|die=4)=11/16, P(at least 2 heads|die=5)=13/16, and P(at least 2 heads|die=6)=57/64. Then 1/6*(0+1/4+1/2+11/16+13/16+57/64)=67/128.
There is a way you can numerically approximate the answer and that is to use simulation. You can write code to run 10000 rolls of the die to calculate the probability that you get at least 2 heads. Then do this 100 times, and on each iteration gets a probability of getting at least 2 heads. The mean of these 100 probabilities is a cross-validated probability of 0.523544. We can check that $\frac{67}{128}\approx0.5234375$, which is very close.
