Find the shortest & best starting move in Mancala (Kalah)
Kind of surprised no one else has offered constructive criticisms.  Let's get the ball rolling.  Keep in mind I don't know anything about Mancala.

Overall code organization could be better.  Rather than static methods in Program2 class, I would go with separate class(es).  I suggest you review posts on Tic-Tac-Toe, where multiple classes are used for the board versus players versus moves.

There are a lot of magic numbers in the code: 5, 6, 12, 13, and 24 to name a few.  I'd suggest using named constants or else change the code a bit, e.g. if 6 is a named constant, sometimes use &lt; Constant instead of 5, and &lt;= Constant for 6.  As it is, it gets confusing for someone to follow your logic.

initialState.ToArray() is totally unnecessary, unless you are trying to have a independent clone.  Your intent is not apparent from the code.  And I find that true about much of your code.  It's hard to follow your intent.

You may consider using List instead of the combination of arrays and IEnumerable.  

The ValueTuple pair named (seq, count) has a few issues.  I think the spelling should be Pascal-cased, with seq spelled out as Sequence.  Plus, count seems confusing.  It's not the count of the associated sequence but rather seems to the the point tally of the sequence.  Thus I would rename count to Points.

I would rather use a class than ValueTuple.  You can have a variety of constructors, plus:


Override ToString() to simplify the 2 times you use it in Main.
Create specific methods to compare 2 instances for shorter sequence length or higher point tally.  This may require implementing IEquatable or IComparable.