Instanced Variables can't be casted

Your exposed property is a class reference and not an object reference. I think this is why your type cast fails.

Can you try the following code?

//In your header file
UPROPERTY(EditAnywhere)
TSubclassOf<class UItem> Item;

//To access the heal amount
if(Item)
{
     float HealAmount = Item->GetDefaultObject<UItem>()->HealAmount;
}