IMO, that’s a perfectly valid aim.
The vast majority of my tiddlers use a numeric-format title (e.g. 400-010) denoting chapter number and section number. While it’s an infrequent occurrence, I do sometimes change/renumber the titles which might break a bunch of things.
So, I use a field:uuid
which allows me to rename tiddlers with impunity and link to them via their permanent uuid. The links, of course, are not regular TW links, they are implemented via macros, which in general terms look like…
<<uuid-link uuid:hex-string-here text:"friendly text">>
And since, like @pmario, I use a field:subtitle, typically the friendly-text defaults to the subtitle text.
The UI for these chapter-section tiddlers offers an easily triple-clicked copy of the uuid (saves me having to dig into TiddlerInfo or having to edit the tiddler:

The JavaScript for getUUID (which I lifted from StackOverflow, IIRC) is…
function getUUID() {
var d = new Date().getTime();
if(window.performance && typeof window.performance.now === "function"){
d += performance.now(); //use high-precision timer if available
}
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c=='x' ? r : (r&0x3|0x8)).toString(16);
});
return uuid;
}