This is a tricky situation, you are both correct and incorrect. So, essentially look at it this way, the Paper Doll is using the frame numbers of the base animation (the character). Since there are no breaks in the base animation, this would require some creativity on your part to achieve in terms of extending the base spritesheet to allow for your scenario to play out. In the end, I feel it would be a dramatic waste of time and resources on your part to achieve. Instead, I would suggest a much simpler solution to approaching the problem, that being a scripted animation helper. Put in animation events at the points where the object must be rendered in front or changed to render behind again. Have a script on your TLA & TLB layers that accept these events and change the sorting layer or Y position of the renderer accordingly (if using custom sort order of (0, 1, 0) on your render pipeline - recommended). But still, use Paper Doll for all the layers, including tool a & b as normal!
I haven't double-checked these scripts, I just wrote them for you in pastebin. So they might require some tweaking. Give these a try to resolve your issue. Hope this helps!
So with these, just attached CharacterAnimationHelper to your BaseRenderer. Point the animation events in your animation at the OnRenderToolABehind. OnRenderToolBBehind, OnRenderToolAFront, and RenderToolBFront. Then you'll attach ToolRendererHelper to both Tool A & Tool B layers. Lastly, with your Base Layer selected, point the Unity Events firing from the Character Animation Helper script to your Tool A & Tool B layer as appropriate. Again, you may have to adjust the scripts a little for syntax and logical errors, but they are very simple scripts so even a rookie could handle it. :)