Finding the cardinality of a set given a set property.
Your approach is methodical and well reasoned. It is exactly what you needed to do.
Further, if $\lvert B\rvert = 8$, then the count for subsets of size six is $\dfrac{8!}{2!~6!}$ or $28$, as required.
So your solution checks out okay, too.
PS: There is one other numerical solution, but it is $n=-7$ so fails a reality check.
Yes, you have correctly identified the equation $n!/6!(n-6)!=28$ is the equation to solve. Your approach seems quite efficient (I'm assuming that you realize that you must assume that $n\ge 0$ in the last step).
Another approach would be to note that the equation requires $n\ge 6$ and note that $n!/6!(n-6)!$ is increasing with $n$ and then test with different $n$s. Once you reach $n=8$ you find a match and know that you can stop there as higher values of $n$ will result in larger LHS.