Does quiescence search even improve the minimax algorithm?
Your logic is flawed because you negated "stand-pat" (i.e. do nothing) and alpha-beta. Let's take a look at the pseudocode (https://www.chessprogramming.org/Quiescence_Search#Pseudo_Code):

int Quiesce( int alpha, int beta ) {
    int stand_pat = Evaluate();
    if( stand_pat &gt;= beta )
        return beta;
    if( alpha &lt; stand_pat )
        alpha = stand_pat;

    until( every_capture_has_been_examined )  {
        MakeCapture();
        score = -Quiesce( -beta, -alpha );
        TakeBackMove();

        if( score &gt;= beta )
            return beta;
        if( score &gt; alpha )
           alpha = score;
    }
    return alpha;
}


Your Qxd6 capture will make return a score far below the alpha. The line:


  if( score > alpha )


will prevent your blunder being reported. Instead the engine would report either stand_pat (do nothing), or something like Nf3, Nc3 etc.