I’m using TiddlyDesktop version 0.0.18 - is based on Goggle Chrome as far as I know.
→ checked it direct with Chrome browser (v140…):
→ aboutblank → title of tiddler is not used
→ save as: $__print.pdf
→ created / add also this tiddlers (as you mentioned):
<$vars layout={{{ [[$:/print]get[layout]] ~portrait }}}>
<style>
.tt-printtoolbar {
position:fixed;top:0;left:0;width:100%;z-index:1;text-align:center;font-size: 70%;background-image: linear-gradient(45deg, transparent 15%, rgba(255,201,102,0.3), transparent 85%);padding:4px;
*[type=range] { width:5em;vertical-align:middle; }
@media print { display:none; }
}
.tt-print {
.tc-tiddler-controls { display:none; }
counter-reset:num;
}
@page {
size:<<layout>>;
<$list filter="[[$:/print]numbers[yes]]">
counter-increment:num; @bottom-right { content:"Seite " counter(num); }
</$list>
}
.print-button {
color: rgb(150, 204, 255);
margin: 0 5px;
border: 1px solid rgba(150, 204, 255, 0.5); }
button.print-button:hover {
color: rgb(150 204 255);
background-image: linear-gradient(to right, rgb(150, 204, 255, 0.35), rgb(150, 204, 255, 0.55), rgb(150, 204, 255, 0.35));
border: 1px solid rgba(150, 204, 255, 0.5);
transition: 0.3s; }
</style>
@@.tt-printtoolbar
<$select field=layout default=portrait><option>portrait</option><option>landscape</option></$select> 
<$checkbox field=numbers checked=yes> Anzahl Seiten</$checkbox> 
<$checkbox field=template checked="/body"> nur den Inhalt drucken</$checkbox> 
Zoom: <$range field=zoom/> {{!!zoom}}% 
<$button class=print-button message=tm-close-window param=<<windowID>>>
{{$:/core/images/print-single-tiddler}} Jetzt drucken<$action-sendmessage $message=tm-print/>
</$button>@@
@@.tt-print
<$list filter="[<windowID>!match[]]">
<div style={{{ [[padding-top:0.5em;zoom:]] [{$:/print!!zoom}] [[%]] +[join[]] }}}>
<$transclude tiddler={{{ [[$:/core/ui/ViewTemplate]addsuffix{$:/print!!template}] }}}/>