Access to shared variables/data between multiple threads is a complex topic.
IMO, the Arduino manuals are not the best source of technical information.
But mainly, as always in life, keep in mind that the absence of a positive doesn't prove a negative.
i.e. just because it was stated as doing something, doesn't mean that it only does that thing or doesn't do anything else unless it specifically states this.
Atomicity is a totally separate concept/behavior from volatile.
volatile can be thought of like a cache directive telling the compiler how often it must refresh from/to physical memory. Set it and it forces the compiler to read/write it every time it is referenced vs saving/holding it in a register for later use.
Also, accessing the contents of a variable/memory location atomically is different than being able to update/modify it atomically.
All these this stuff really rears its ugly head on a 8 bit processor like the AVR as some of these issues do not exist on other processors.
--- bill