Can I as the owner of the site moderate those comments if they're linked to the canonical reference to my site and appear next to my content when viewed outside my site?
You can moderate what can be seen from your site (and what your site will return when asked for comments on that post by other sites(?)), but you can’t moderate it completely when viewed on other sites — i.e. if you’re Site A, someone comments something you don’t like on Site B, and someone looks at the comments from Site C, if Site B and C were already federating with each other then C will see B’s comment (and in this case it’s Site C’s responsibility to moderate)
You can block a specific user of Site B from viewing your posts in the future, but it’s up to Site B’s software to actually respect that. But if it doesn’t (this is rare, most software does respect things like this and it’s only tiny forks that disable this functionality), you can also just block Site B entirely
Editing to expand: Yes, this is pretty wonky and basically means you can only control what’s seen on your site unless you go through a lot of effort, but without ActivityPub you can’t control what other people say about your post on other sites either (i.e. you can’t moderate the HN thread of your article)
I think if someone on Mastodon comments on a Ghost blog, then Mastodon will tell Ghost that they did so (via ActivityPub).
Then if someone on Pixelfed sees that blog, Pixelfed will ask Ghost who has commented on it (via ActivityPub). Ghost can then tell them about that (via ActivityPub) - or it can choose not to do so (based on its own moderation tools).
That doesn't mean that the Mastodon comment no longer exists, nor that it is invisible to the people looking at the Mastodon comment (similar to HN comments), but Ghost won't boost its reach.
So what ActivityPub gives you is the option to reshare comments.