Custom UPrimitiveComponent not colliding with ground or other instances of itself

I created subclasses of UBoxComponent and UCapsuleComponent that have some hitbox logic integrated, and I’ve run into a problem where they don’t seem to register collisions with everything. They collide with the collision cylinder of ACharacter actors in the scene, but don’t collide with the ground (a static mesh with BlockAll collision preset) or other instances of themselves.

Eventually I’d like these custom hitbox shapes to be wrapped around different parts of the characters’ skeletal mesh, but for debugging collision purposes I’m making them surround the entire character so they should be colliding with everything. Attached are screenshots of my current configuration with one of these UPrimitive subclasses as a child of the two characters’ respective skeletal meshes; any idea why these components can collide with ACharacter collision cylinders but are not colliding with the ground or each other? Is there something special about collision and the transform hierarchy, e.g. collision gets consumed first (or only) by the USceneComponent at the root of the hierarchy (the ACharacter built-in collision cylinder UCapsuleComponent in this case)?

Out of desperation, I also placed the following in their constructors but it didn’t seem to change anything:

SetNotifyRigidBodyCollision(true);
SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
SetCollisionProfileName("BlockAllDynamic");