I'm slightly confused by this - the ticket routeing states "not via London" yet there is no "any permitted" equivalent to excess you to....
Furthermore, some of the permitted routes (as kindly listed above) do show routes via London.
If I understand correctly, for your outward journey you will go Perth to Cardiff (not bothered as to whether you go via York or Manchester - presumably wanting to go the quickest way). This is fine.
You then want to go Cardiff-Manchester a couple of days later, then Manchester-London a couple of days later, then either London-Perth by sleeper or (if you must/if cheaper) London-Manchester and Manchester-Perth.
As far as I can see (and I defer to more experienced forum members such as John at home or yorkie who have already posted above) your ticket would be valid on the sleeper from Watford Junction.
Cardiff to Perth is allowed by maps BD ZZ and FD. BD allows you to go Cardiff to Swindon or Cardiff to Taunton (where you would change to map ZZ) - you don't actually want to do this - as you will be wanting to go as far towards Manchester as the ticket allows (without then becoming invalid for the next bit)*.
Maps ZZ and FD then allow Euston or Watford Junction to Perth by the sleeper (either seated, or by paying as above for a solo berth).
To avoid the "not london" issue, you could buy Perth to Llanelli which is any permitted £174.60 saver return also 2V.
You would then only need a ticket from Newport to Manchester* and Manchester to Euston.
Note * - there would be a temptation to use your return ticket as far as Manchester (for which it would be valid) however this isn't something I personally would wish to publically recommend on this forum.