One of the problems with the documentation is that the engine has changed a fair bit since 3.7.1 to 4.x. Which is one of the reasons I held back on writing too much of it, as I didn't want to have to waste time rewriting it all again.
The optimized system loads frame by frame. It should retain loaded frames in memory until the cache you set gets filled up. However the problem with this is, that if you have loads of animations playing at the same time & the file-size of each frame is quite large, then it will cause a bit of lag. The idea is to try to optimize your animations as best as you can.
* don't create them with the same canvas size as the scene resolution. Sure it's only a few kb difference here & there, but it all adds up.
* consider using webp format for the final images instead of png as the quality is pretty much the same (I can't tell the difference between a png file & a webp file @ quality 10), however the webp file will probably be at least 1/4 to 3/4 the file-size, which will reduce loading time per frame / animation.
* do not use duplicate frames in your animations to create pauses between frames. Instead use the set pause for individual frames option. Since 4.x, you can now set both a global value (-1) & custom frame delay values.
* for environment animations & animations that don't need to be super sharp, consider creating them at 1/4 or 1/2 the intended actual size & using Lua script to scale them up to actual size.
All of the things I've mentioned are great for optimizing your animations / images & speeding up your game.