Your estimate is a bit high. In particular you overestimate the number of king moves. At most a king has 8 moves (not including castling which does not apply here), however here, both the black and the white king have a lot less legal moves than your estimated 10. The white king because it is on the edge of the board and the black king because it is not allowed to run into check. A more realistic number for the possible king moves would be 4. The number of legal moves for all four white pieces here is somewhere between 30 and 40. With these estimates you should have around 1 million variations which is confirmed by the data below.
I wrote a simple (should be done with recursion), not-elegant loop in python-chess to count all the legal variations until the 3rd white move and ended up with 347 863 variations. If I go one ply further (i.e. like in your example) until the 3rd black move I get: 1 403 476 variations.
The program loops through all variations and adds the number of legal moves for the 5th ply (3rd move by white). Example program below is until the 3rd white move. Simply add a loop if you want to go until the 3rd black move.
import chess
board = chess.Board("8/8/8/8/4k3/8/8/2BQKB2 w - - 0 1")
counter = 0
for move1w in board.legal_moves:
board.push(move1w)
for move1b in board.legal_moves:
board.push(move1b)
for move2w in board.legal_moves:
board.push(move2w)
for move2b in board.legal_moves:
board.push(move2b)
counter += board.legal_moves.count()
board.pop()
board.pop()
board.pop()
board.pop()
print('The number of variations is:')
print(counter)