So after spending more time on this, it turns out that it actually is possible to get past this broken migration.
The upgrade path tool suggests:
15.3.3 => 15.4.6 => 15.6.8 => 15.9.2
What actually ended up working is:
15.3.3 => 15.4.6 => 15.6.8 => 15.7.0 => 15.9.2
While I do think that the upgrade path website is very helpful, I think the whole migration part is becoming more and more problematic and every upgrade feels like rolling the dice.