Is it chain of headers rather than a chain of blocks? We know widely used explanation of the blockchain:
"Every block contains a hash of the previous block". The sentence above implies that since every block contains a hash of the previous block, therefore every block should have a knowledge about transactions included into the previous block because every block has a following structure:

Block:


Magic No
Block Size
Block Header
Transaction counter
Transactions


Block Header:


Version
hashPrevBlock
hashMerkleRoot
Time
Bits
Nonce


However, every block does not have knowledge about transactions incuded into previous block correct???

As fas as I understand there are two chains in the Bitcoin: 


a chain of blocks headers (a block chain)
a chain of transactions (Prev Tx Hash)


Hence just to clarify, rather than saying: "every block contains a hash of the previous block", would not it be correct to say: "header of every block contains a hash of header of the previous block"?

Please correct my assumptions if I am wrong. Thanks.
Blocks contain a header, and headers are chained, so blocks are chained also.  Note the merkle root from your question: this attaches the transactions in the block to the header, making them a logical combined unit:

That is, you can't attach an arbitrary block to an arbitrary header---each header only attaches to one set of transactions.
You are correct that this expression is wrong: &quot;every [valid] block contains a hash of the previous block&quot;.  That phrasing may be useful for non-techies, but if you find it in any editable technical documentation, you should probably change it.