To answer this question and the whole question from the very beginning...
$\begin{eqnarray}
\det (B) &= \sum_{\sigma\in S_{n+k}}\operatorname{sgn}\sigma\prod_{i=1}^{k+n} b[i, \sigma(i)]\\
&= \sum_{\sigma\in S_{n+k}}\operatorname{sgn}\sigma\prod_{i=1}^k b[i,\sigma(i)]\prod_{ i=k+1}^{k+n} b[i,\sigma(i)] \tag{1}\\
\end{eqnarray}$
Looking at equation $(1)$, if $i\leq k$ and $\sigma(i)>k$, then we have a zero summand as $b[i,\sigma(i)]=0$.
-That means we $\underline{\text{only}}$ consider values of $\sigma$ where $k<i$ or $\sigma(i)\leq k$ holds true.
Now, note the following holds true:
$\bullet$ [Show $\pi \in S_k$.]
Now, let $\pi(i):=\sigma(i)$ for $i\leq k$. Since $i\leq k$, we know $\sigma(i)\leq k$ must hold true which means $\pi(i)\leq k$. So, $\pi\in S_k$.
$\bullet$ [Show $\tau \in S_n$.]
Now, let $\tau(i):=\sigma(k+i)-k$ for $i\leq n$. Since $\sigma(k+i)\leq k+n$, we know $\tau(i)=\sigma(k+i)-k\leq k+n-k=n$. Thus, $\tau \in S_n$.
Again, we are assuming $k<i$ or $\sigma(i)\leq k$ holds true.
As Misha Lavrov points out, we now, note for every $j$ with $j \leq k$, we know $\sigma(j) \leq k$, so $\sigma$ maps the values $\{1,2,\dots,k\}$ to $\{1,2,\dots,k\}$ (in some order). But this "uses up" all the values in that range as possible values of $\sigma(j)$. So $\sigma$ must map the values $\{k+1,k+2,\dots,n\}$ to $\{k+1,k+2,\dots,n\}$ (in some order). In other words, if $j>k$, we know $\sigma(j)>k$, too.
Define $\tau'(i):=\left\{\begin{matrix}
i,& \text{if $i\in \lbrace 1, 2, 3, ..., k\rbrace$} \\
\sigma(i),& \text{if $i\in \lbrace k+1, k+2, ..., k+n \rbrace$.}
\end{matrix}\right.$
Also, define $\pi'(i):=\left\{\begin{matrix}
\sigma(i),& \text{if $i\in \lbrace 1, 2, 3, ..., k\rbrace$} \\
i ,& \text{if $i\in \lbrace k+1, k+2, ..., k+n \rbrace$.}
\end{matrix}\right.$
Thus, as we noted above in yellow, that $(\pi' \tau ') (i)= \sigma (i)$ for any $i \in \{1, 2, ..., k+n\}$.
As $(\pi' \tau ') (i)= \sigma (i)$ for any $i \in \{1, 2, ..., k+n\}$, we know for any $\sigma \in S_{n+k}$ that we can set $\sigma (i)= (\pi' \tau ')(i)$ for $i\in \{1, 2, ..., k+n \}$ to conclude $\mathrm{sgn}(\pi')\mathrm{sgn}(\tau ')=\mathrm{sgn} (\sigma)$.
Now, we are able to define $\pi$ and $\tau$ like we did shown above (in other words, $\pi(i):=\pi'(i)$ for $i\in \{1, 2, ..., k \}$ and $\tau(i):=\tau'(k+i)-k$ for $i\in \{1, 2, ..., k \}$ so that the inversions remain unaffected with respect to $\pi'$ and $\tau'$). Thus, $\mathrm{sgn}(\pi)=\mathrm{sgn}(\pi')$ and $\mathrm{sgn}(\tau)=\mathrm{sgn}(\tau')$. This means we can conclude $\mathrm{sgn}(\pi)\mathrm{sgn}(\tau )=\mathrm{sgn} (\sigma)$. So, any permutation $\sigma\in S_{k+n}$ can be broken down into $\pi$ and $\tau$ like we just showed.
Using Zilin J.'s answer here, we know
$\begin{eqnarray}\det (B) &=& \sum_{\sigma\in S_{n+k}}\operatorname{sgn}\sigma\prod_{i=1}^k b[i,\sigma(i)]\prod_{i=k+1}^{k+n} b[i,\sigma(i)] \\
&=& \sum_{\sigma\in S_{n+k}}\operatorname{sgn}\sigma\prod_{i=1}^k a[i,\sigma(i)]\prod_{i=1}^nd[i,\sigma(i+k)-k] \\
& = & \sum_{(\pi, \tau) \in S_k\times S_n}\operatorname{sgn}\pi\operatorname{sgn}\tau\prod_{i=1}^k a[i,\pi(i)]\prod_{i=1}^nd[i,\tau(i)] \\
&=& (\sum_{\pi\in S_k}\operatorname{sgn}\pi\prod_{i=1}^k a[i,\pi(i)])(\sum_{\tau\in S_{n}}\operatorname{sgn}\tau\prod_{i=1}^nd[i,\tau(i)]) \text{ by the distributive property}
\\ & = & \det (A)\det (D).\end{eqnarray}$