Incomprehension of the difference between "chunk" and "block"

Usually,

a CID references a block. The block can be parsed as a go-merkledag protobuf.

The go-merkledag protobuf has a binary payload which can be parsed as unixfs protobuf.

The unixfs protobuf, when of File type, would have a payload which is the chunk bytes.

Unless you are using “raw leaves”, in which case the CID references the chunk bytes directly.

Spelunking here: Disk space consumption in IPFS - #4 by hector

A block can store anything. The CID gives hints about how to parse it though since it has multicodec in it (that usually is dag-pb which indicates the block can be interpreted as a go-merkledag protobuf).