At last i've managed to make it work in a packaged app using unlocking the feature:
auto result = winrt::Windows::ApplicationModel::LimitedAccessFeatures::TryUnlockFeature(c_lafFeature, c_lafToken, c_lafAttestation);
if (result.Status() == winrt::Windows::ApplicationModel::LimitedAccessFeatureStatus::Available ||
result.Status() == winrt::Windows::ApplicationModel::LimitedAccessFeatureStatus::AvailableWithoutToken)
{
auto taskbarManager = winrt::Windows::UI::Shell::TaskbarManager::GetDefault();
if (taskbarManager.IsSupported() && taskbarManager.IsPinningAllowed() &&
!taskbarManager.IsCurrentAppPinnedAsync().get())
{
taskbarManager.RequestPinCurrentAppAsync().get();
}
}