That makes sense: this really is a workaround for the flaw in the 1.0.2 specifications that for US915 do not include the CFList with network settings in the Join Accept. A Join Accept message does not have the option to include additional MAC commands, so an additional downlink is needed, which can only be sent after receiving another uplink:
As for the first revision of your post in which you thought the actual ADR message was not okay: if you still have doubts then see an example for AU915 in LMIC Library Always Does Unwanted Downlink - #10 by arjanvanb and for EU868 in ADR problems - node of the same type have different ADR behaviour - #11 by arjanvanb.