Rendering 'SEO Tab Fields' into source

In the CMS If I populate the SEO fields tab with some content
and I have no code in the Page Template to direct where they should be rendered, the fields do render into output source.
The title renders just after the opening of the head
and the others just before the end of the head

Now, If I add this to the Template:
<title>{{this.seotitle}}</title>

The title renders in wherever i place it and removes the one the system automatically adds, basically it overrides it. This is desirable.

If I do the same thing for other items in the SEO Tab and add them into the template ie:

<link rel="canonical" href="{{this.CanonicalLink}}">
<meta name="description" content="{{this.MetaDescription}}">

They render in where I want them (as Title does)
However the system does not remove the system added versions, and we are left with 2 canonicals and 2 meta descriptions in the source.

Should I be doing this differently to achieve what I’m after?
ie. for all to behave like the title does and allow control of output position.

Obviously not a critical problem, but Id love to have better control over the rendered source rather than leaving it to the system to place things wherever it wants.

If you are populating those other SEO fields then the system will automatically insert them. We don’t have control over preventing this at present.
However, I approach this in a different way, which may or may not suit your workflow.
I explain this in the following post if it helps:
Possible to automatically fill SEO page title and SEO canonical?