I scored every ladder checkpoint on the emotions rows and ran the same bias fit on both datasets. The answer is no: epoch 2 does not lead there. It is 0.563 against 0.571 for the released epoch 3, a difference of -0.008 with both intervals covering zero ([-0.030, +0.014] over rows, [-0.110, +0.040] over labels). The best checkpoint with biases on emotions is v1.2 at 0.591.
So the stopping-rule effect is real on the headlines but does not carry to the second unseen dataset. The other run that asks the same question, an early against a late epoch of another seed, gives +0.030 on headlines and +0.003 on emotions, the same pattern.
Your first point holds on both datasets. After the biases, v1.3 against the second seed of the v1.1 recipe is +0.004 on headlines and -0.006 on emotions, all intervals covering zero, while that seed differs from v1.1 by -0.037 and +0.020. One run per recipe cannot separate the recipe from the seed.
The size of the correction also turns out to measure how hard a checkpoint leans: the bias gain on headlines runs from +0.021 for v1.1 to +0.139 for epoch 2.
The table, the logits for both datasets and the scoring script are in results/unseen/ladder_bias.md, results/unseen/ladder_emotions/ and results/analysis/score_ladder.py, archived as release v1.3.7 (https://doi.org/10.5281/zenodo.24096621). Thank you for pushing on this, it made the repository more complete.