I think it makes sense to use a Kirbytag for that, as that’s very flexible to use inside the content.
You can use a “wrapped tag” like the columns tag to wrap any text/code in a set of one opening and one closing windows tag (you could even generalize it so it would be os-specific: windows or os-specific: osx).
The callback inside would then check whether the condition is currently met (by using a URL param etc.) and then either render the Kirbytext between the tags or replace it with an empty string to remove the conditional information.
I think the solution depends on how you want to structure your content. If all text goes into one textarea field, then you could use kirbytags for the specific text elements.
BTW. Your approach above will not work as you can’t have Kirbytext tags within Kirbytext tags. You would have to go for one of the solutions described in this post No markdown parsing with kirbytags for this kind of more complicated tags.
For your problem: the place to store the “software documentation” pages must not be the path to store the corresponding data.
And for me the corresponding data should be data and should not be saved outside from that data, that I or the admins could change within of the Panel.
You can add a link at the blueprints of your “software documentation” pages to the path of the corresponding data!