I am no canonicalization expert, so I shouldn’t say something that is wrong here. But I’m pretty sure it’s unrelated. Markup is not used at all in canonicalization as far as I know. And while I guess it could be possible to confuse systems by having a non-canonical URL have some markup that said mainEntityOfPage: <canonical-url> (so it looked like the markup was asserting that it was the main post from a different page), I haven’t seen that come up yet.
While we’re on the subject though, Discourse currently asserts that every comment/non-first-post is the mainEntityOfPage: <url>. I believe that will be true after the fix change as well. This also confuses the detection (and means we have to drop that assertion altogether). I think that with the fix it’ll give us enough signal to prevent problems now, but it’s probably better to only use that on the first post.