Yes, you are correct and aren't missing anything. The author was a bit "sloppy" summarizing subnets that aren't actually in the aggregate.
The author's aggregate summarizes:
3::
...
3:ffff:ffff:ffff:ffff:ffff:ffff:ffff
A bit more than just 3:1::, 3:2:: and 3:3::.
Likewise, your example is a bit overreaching - technically.
Your aggregate summarizes:
3:0::
3:1::
3:2::
3:3::
Perhaps:
3:1::/64
3:2::/31
is more "technically" correct.
I've been using /128's for loopback addresses all carved from a single /64. Just another way to do it.
cheers.