Central Package Management with conditional ItemGroups seems to work for me.
Directory.Packages.props
<ItemGroup>
<PackageReference Include="Serilog" Version="4.3.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
<PackageReference Include="Serilog.Extensions.Logging" Version="8.0.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net9.0' ">
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
</ItemGroup>
https://wind010.hashnode.dev/centralizing-nuget-package-references