Someone mentioned this behavior in the SE-0216 User-defined dynamically callable types thread as well.
Currently, the implementation of @dynamicMemberLookup only looks for concrete subscript(dynamicMember:) methods; subscript(dynamicMember:) as a protocol requirement isn't handled.
I believe it should be handled, however, for expected behavior. The necessary changes shouldn't be too drastic.