Как собрать лёгкую сборку приложения .NET Core?
но полученные папки "для публикации" выходят совсем тяжёлыми - под 200 мегабайт для программки весом в 0,2 МБ!!!
Так в варианте с .NET Framework надо прежде скачать этот фреймворк на 400Мб и установить. Без него не будет работать. Поэтому утверждение, что программа весит 0.2Мб не верное.
Ой вэй. Совет в общем то простой убирайте зависимости это  относится ко всяким рослинам, генераторам для EF и прочему стафу который цепляет студия. Плюс в настройках паблишинга есть вариант публиковать полную версию или версию для уже установленного фреймворка. 

https://docs.microsoft.com/ru-ru/dotnet/core/deploying/

Кроме этого можно скопировать 1 раз файлы, а после просто заменять dll

Или же вариант создать инсталлер, который  устанавливает фреймворк по необходимости. 
Например WiX installer

Вот  рабочий код без всякого мусора. 

dotnet build -c Release-no-self
dotnet zip --no-restore -c Release-no-self

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RootNamespace>_444</RootNamespace>
    <Configurations>Debug;Release;Release-no-self</Configurations>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-no-self|AnyCPU'">
    <SelfContained>False</SelfContained>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Packaging.Targets" Version="$(PackagingNuGetVersion)" />
  </ItemGroup>

  <PropertyGroup>
    <PostInstallScript>
    </PostInstallScript>
    <PostRemoveScript>
    </PostRemoveScript>
  </PropertyGroup>

  <Target Name="PackageZip" DependsOnTargets="CreateZip" Outputs="$(ZipPath)"/>
  <Target Name="PackageTarball" DependsOnTargets="CreateTarball" Outputs="$(TarballPath)"/>
  <Target Name="PackageDebian" DependsOnTargets="CreateDeb" Outputs="$(DebPath)"/>
  <Target Name="PackageRpm" DependsOnTargets="CreateRpm" Outputs="$(RpmPath)"/>

</Project>