Hey Guy,
I think the cause of the issue comes from the alias of the duplicate post. It seems that when we duplicate a post, the new post will also use the same alias as the original post instead of changing its alias automatically. For example, /blog/post-1 to /blog/post-1 instead of /blog/post-1 to /blog/post-2
Since the alias of both the duplicate post and original post is the same, on the frontend, when we click the duplicate post, we are actually being brought to the original post because the system thought we are trying to access the original post.
In the case where the original post is unpublished, if we click the duplicate post in the frontend, we will hit the 404 error because the orignal post that we are being directed to is unpublished.
Now, as a super user, we won't hit this 404 error because super users are able to view unpublished post.
As a super user, inside the 'original post', when we click on the
Share to FB button, Facebook will crawl the post.
While crawling the post to obtain post information, Facebook is acting as a guest user. Since guest users hit the 404 error because they can't view unpublished post, the same will happen to Facebook, thus we see the 400 error from the screenshot that you provided.
Now, the reason when you remove a block and save the post the error disappears is when we re-save a duplicate post, the alias of the post actually changes to create a unique alias. Since the alias is not the same as the original post, non super users and Facebook would be able to access the content of the duplicate content correctly.
Duplicating a post results in duplicating the alias as well instead of automatically changing them. This is a know issue and I will log this in our issue tracker so the devs can take a look at the issue.
In the meantime, whenever you duplicate a post, remember to re-save the post so that the alias gets changed.
As for Facebook og:description text formatting, unfortunately, there is nothing we can do about this. The opengraph protocol only crawls string text. It does not store html codes in it. You can refer to this
link for reference.