In the layerbox, when adding a new layer, or moving between layers with the keyboard, the arrow cursor gets replaced. if the layer is not editable, an arrow + forbidden cursor is used. If the current tool is the freehand brush tool, the cursor disappears completely. If the tool has a real cursor, the tool's cursor is used in teh layerbox. This is most likely due to the code in bool KisTool::overrideCursorIfNotEditable(). However, the issue first started appearing with d7bc0ebf1daeb72837f4584e3ca234ce463dc495, which changed the keyboard handling for the selection tools.
Correction: 44560a8c74cd343ef163066c229fc2835e7cef4f "Fix resetting active tool when moving layers above vector layers" might be the culprit, git bisect is getting very confused.
Okay... The problem is with the proxy style for the dock widget titlebar. Apparently that exposes a problem in Qt where the dock widgets, when docked, become part of the main window's central widget so get the main window's central widget cursor changes.
I removed this code in https://commits.kde.org/krita/eca385149bf56efadb82fa3ecb93ee27d20d2349