1.Should I implement child entity operations in the domain or repository.
No. the repository manipulates the aggregate only.
2.Loading all child entities related to an item or navigating to them is OK with Entity Framework. Loading the root with .include(..) will do the work. But what about updading an ItemActivity or even deleting an ItemActivity? Removing them from the collection does not persist.
Item.getActivity().updateRemark("...");
ItemRepository.store(Item);
3.Assume that I have to find all activities within a time span.
You'd better make ItemActivity another aggregate root if you need to query them by range. Smaller aggregates helps this case.
4.Is there a sample covering this topic.
The famous Effective Aggregate Design. There is some sample code(especially in Part 1) relates to your case closely.