Here's a quick hack, in HostItem class, change
target.Type.GetScriptableProperty(name, invokeFlags, bindArgs);
totarget.Target.GetType().GetScriptableProperty(name, invokeFlags, bindArgs);
That way, it will get the property from the derived class instead.