This behavior is implicit and may lead to confusion or unexpected behavior.
For example, this code:
//MYDD DD DSN=TEST
Some in-stream data
// DD DSN=CONCAT-DD
Gets implicitly transformed into:
//MYDD DD DSN=TEST
//SYSIN DD *
Some in-stream data
// DD DSN=CONCAT-DD
So the last DD statement is a concatenation of the implicit //SYSIN DD *
statement instead of the explicit //MYDD DD
statement.