I don't think ext4 has native snapshots. You can use lvm-thin for snapshots. Note that lvm-thin is different from regular lvm snapshots, which are known to be inefficient. RHEL has decent support for this feature, and will even let you set it up in the GUI during installation.
Yes snapshots are for volumes. There's also a yum plugin which will do before and after snapshots. Rhel and suse have this feature which works with lvm-thin as well as btrfs.