Does the sequence of enemies chosen impact your rare card chance?

The short answer: No. The opposite is true.


Details:

I wrote a little console program to test this, simulating 108 times and outputting the no. of rare cards you expect to see. (Takes about a minute to run on a modern CPU). It allows any act path as input and outputs the number of rare cards seen in card rewardsnote. Here is the result:

Simulate rare chance. Input a string formatted like rrresrrre. r = regular, e =
elite, s = shop.
It is assumed shop rares are not bought
Input: rrrerrre
Result: 2.4346
Input: rrreerrr
Result: 2.5110
Input: rrrerre
Result: 2.0444
Input: rrreerr
Result: 2.1136
Input: rrrere
Result: 1.6491
Input: rrreer
Result: 1.6962

Note: Due to the law of large numbers, the outputs above are accurate to 4 decimal places, and very accurate to 3 decimal places. (Increasing the simulation count will make the results more accurate, at the cost of linearly more time).

We can see there is a significant disadvantage in the number of rares seen to the method suggested in the video and thus actually doing the opposite of said technique has merit! On average, an act with 3 fights, one elite, 3 fights, one elite will see 0.076 less rare cards than one where 3 fights, two elites, 3 fights are chosen as the path. With 3-2, we see a difference of 0.069, and with 3-1, there's a difference of 0.047 rares.

Note: simulating events and modifying card rewards with certain relics left as an exercise to the reader. My hypothesis is that the underlying result is unlikely to change: only the magnitude of the effect may vary.


Source code (C#) below:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace raresExpected {

class Program {
    static void Main(string[] args) {
        string input;
        System.Console.WriteLine("Simulate rare chance. Input a string formatted like rrresrrre. r = regular, e = elite, s = shop.");
        System.Console.WriteLine("It is assumed shop rares are not bought");
        do {
            System.Console.Write("Input: ");
            input = System.Console.ReadLine();
            double result = estimate(input.ToLowerInvariant());
            System.Console.WriteLine("Result: " + result.ToString("N4"));
        }
        while (input != "" && input != "exit");
    }
    static double estimate(string input) {
        int simulations = 100000000;
        double total = 0;
        Random rand = new Random();
        char[] ca = input.ToCharArray();
        for (int i = 0; i < simulations; ++i) {
            // Ok not to use Kahan: the numbers will be close.
            total += runSimulation(ca, rand);
        }
        return total / simulations;
    }
    static int runSimulation(char[] input, Random rand) {
        int cards;
        int rares = 0;
        int p = -2; // Probability
        int mod = 0;
        int q = 0; // Modified probability
        int r = 0; // Running total
        foreach (char c in input) {
            if (c == 'r') {
                mod = 10;
                cards = 3;
            } else if (c == 'e') {
                mod = 0;
                cards = 3;
            } else if (c == 's') {
                mod = 6;
                cards = 7;
            } else {
                cards = 0;
            }
            for (int i = 0; i < cards; ++i) {
                q = p + mod;
                r = rand.Next() % 100;
                if (r < q) {
                    if (c != 's') {
                        ++rares;
                    }
                    p = -2;
                } else  if (r > q + 0.37) {
                    // Common card is rolled. 
                    ++p;
                }
            }
        }
        return rares;
    }
}
}