How is param `ttl` treated in different tx-types?

OK, now this has nothing to do with channels or ttl.

The type specification of the oracles queries and responses is used by Smart Contracts in order for them to be able to produces queries on one hand and on the other - to be able to use them in a safe manner. In order to to this, both are Sophia types. An example for a channel_register_tx registering an oracle that receives queries consisting of a single string and returning responses consisting of a single string would be:

{  
    "block_hash":"none",
    "block_height":-1,
    "hash":"th_TSiJAQPkA2MUHQ4ZGffR494TijmGZdJ9sZ7WxwRNktTeaeRcs",
    "signatures":[  
        "sg_GAtPX84RE7UPqTjzTupeFZVjBytauF7aPVwn2ybso5MzXTu9z3w4SV6QA1WYA9YGmpyWhhqQk6H3zgifw3wWSWhh3BpC2"
    ],
    "tx":{  
        "abi_version":1,
        "account_id":"ak_2XNq9oKtThxKLNFGWTaxmLBZPgP7ECEGxL3zK7dTSFh6RyRvaG",
        "fee":50000000000000,
        "nonce":1,
        "oracle_ttl":{  
            "type":"delta",
            "value":20
        },
        "query_fee":3,
        "query_format":"u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000 u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0001",
        "response_format":"u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000 u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0000u0001",
        "type":"OracleRegisterTx",
        "version":1
    }
}

Note that since you’ve noted already: both the old no-validation abi:0 and the shiny new abi:1 that applies validation can be used, thus the formats are not encoded in the JSON representation.