Your TakeDmg() function is delcared as a UPROPERTY() in the header - if you change it to UFUNCTION(), it should work fine ^.=.^ Also, unless the function is specified as a serverside validated function - like this - you should not write it as TakeDmg_Implementation(), but as TakeDmg().
UFUNCTION(Server, Reliable, WithValidation)
If you want to use the function in blueprint, add BlueprintCallable in the UFUNCTION declaration.
Amazing thank you so much. What a dumb question in hindsight -_-. I replaced BlueprintReadWrite with BlueprintCallable and changed UPROPERTY to UFUNCTION.