All Fences even one with just 2 logs can accept a CombinationLock4 by dragging it on.
There is an error in the CanReceiveAttachment function in Fence.c it only checks for CombinationLock and not it's descendant CombinationLock4:
if ( attachment.Type() == ATTACHMENT_COMBINATION_LOCK ) { if ( !HasGate() || IsOpened() ) { return false; } }
This should be changed to:
if ( attachment.IsInherited(ATTACHMENT_COMBINATION_LOCK) ) { if ( !HasGate() || IsOpened() ) { return false; } }