Can a child AnimBP override an Animation Layer Interface layer implemented by its parent AnimBP?

Hi, I’m trying to understand the expected behavior of Animation Layer Interfaces with inherited Animation Blueprints.

My setup is like this:

ALI_OverlayPose
 └─ OverlayPose layer

ABP_OverlayBase
 ├─ Parent: AnimInstance
 ├─ Implements: ALI_OverlayPose
 └─ OverlayPose layer
     └─ Base overlay state machine

ABP_SwordOverlay
 ├─ Parent: ABP_OverlayBase
 ├─ Also uses / inherits ALI_OverlayPose
 └─ I created a Sword-specific OverlayPose layer
     └─ Sword-specific state machine

ABP_BowOverlay
 ├─ Parent: ABP_OverlayBase
 ├─ Also uses / inherits ALI_OverlayPose
 └─ I created a Bow-specific OverlayPose layer
     └─ Bow-specific state machine

In my character Animation Blueprint, I call Link Anim Class Layers and pass ABP_SwordOverlay or ABP_BowOverlay depending on the equipped weapon.

I expected this:

Link Anim Class Layers → ABP_SwordOverlay
→ use ABP_SwordOverlay's OverlayPose layer
→ run the Sword-specific state machine

But what actually seems to happen is:

Link Anim Class Layers → ABP_SwordOverlay
→ the OverlayPose layer from ABP_OverlayBase still runs
→ the base overlay state machine is used instead of the Sword-specific one

So my question is:

Can a child Animation Blueprint override an Animation Layer Interface implementation from its parent Animation Blueprint?

Or is this not supported / not intended behavior?

From what I’m seeing, it looks like if the parent AnimBP already implements the Animation Layer Interface, the child AnimBP inherits that layer implementation, and creating a layer with the same interface in the child does not behave like overriding a normal Blueprint function.

Is the correct architecture to avoid implementing the Animation Layer Interface in the common base AnimBP, and instead do something like this?

ABP_OverlayCommonBase
 ├─ Parent: AnimInstance
 ├─ Does NOT implement ALI_OverlayPose
 ├─ Common variables
 ├─ Common functions
 └─ Common update logic only

ABP_SwordOverlay
 ├─ Parent: ABP_OverlayCommonBase
 ├─ Implements: ALI_OverlayPose
 └─ OverlayPose
     └─ Sword-specific state machine

ABP_BowOverlay
 ├─ Parent: ABP_OverlayCommonBase
 ├─ Implements: ALI_OverlayPose
 └─ OverlayPose
     └─ Bow-specific state machine

In other words, should the common base AnimBP avoid implementing the Animation Layer Interface if I want each weapon-specific AnimBP to have its own completely different state machine?