A canonical is one of the signals that Google uses to decides which page to index and show on the SERPs; because of that, they can decide to ignore it if the other signals point to another page that appears to be a better match.
The signals they use for this:
Link rel canonical annotation that matches throughout the site
Internal linking using ...
When a canonical tag is used, you are saying that the page specified in the canonical tag is preferred. So if one page's canonical tag points to another page, only the preferred page is shown in the search index. This is by design. Google will only show the preferred page in the SERPs.
Any exception to the rule is only temporary as Google processes what it ...
Since it's only temporary, you should use 302 redirect instead of 301. But my advice is don't use auto-redirect, but inform the visitor in existing/old website to try a new platform with a popup every visitor visit it or something else.
My worry is that all new content will be indexed against a subdomain
Why are you worrying about it? I don't see any ...
As the content of the page is user-specific, it would likely be always blank for spiders (which probably won't trigger the conditions required to have anything other than the blank version of the page).
Ergo, you're probably better blocking spiders from accessing the page entirely. Just add the following to your robots.txt file.