Replicating UObject Containing UActorComponent

You can definitively have nested replicated UObject’s. Pretty sure that ReplicateSubobjects won’t be called for the inner UInventoryComponent in your UBackpackItem. If I remember correctly the engine calls ReplicateSubobjects for the Actor which replicates each Component by first calling ReplicateSubobjects on the component itself to allow the component to also replicate any subobjects and then ReplicateSubobject. Which means if the inner UInventoryComponent isn’t registered as a component of the outer Actor nothing will call ReplicateSubobjects on it unless you call it yourself.
https://github.com/EpicGames/UnrealEngine/blob/c3caf7b6bf12ae4c8e09b606f10a09776b4d1f38/Engine/Source/Runtime/Engine/Private/DataChannel.cpp#L3177
https://github.com/EpicGames/UnrealEngine/blob/c3caf7b6bf12ae4c8e09b606f10a09776b4d1f38/Engine/Source/Runtime/Engine/Private/ActorReplication.cpp#L450

Have you tried placing a breakpoint in ReplicateSubobjects to verify it is called for the inner UInventoryComponent? Also the inner UInventoryComponent itself may not actually be replicated because of the above.

If you want to stick with your solution you most likely need to add a virtual ReplicateSubobjects(...) function to your UItemBase class that you then need to call on each item in the inventory from UInventoryComponent::ReplicateSubobjects. This way you can override it in your UBackpackItem and replicate its subobjects.