The documentation for STRAIGHT_JOIN is missing one very important detail:
The scope of the hint is limited to the FROM clause of the query block where the hint appears. In particular, the hint does not apply recursively to all subqueries.
Existing docs are here:
1. The hint here will prevent reordering of "v1" and "v2", but the joins between "t1" and "t2" and "t3" and "t4" can still be reordered.
2. Fully hinted query. No join ordering is applied whatsoever.