If the iframe URL is ranking better than your intended page you could use it to put your content on.
Use a subdomain to serve your iframe content and you can keep the entire subdomain out of Google’s index.
Create subdomain to serve iframe content and disallow crawling.
Move content to iframe URL
Redirect old URL to the iframe URL
I am very curious how ...
Okay, I would focus on making your internal links communicate the "Special Pages" to Google by having your Category, Product and Post pages link to your Special pages.
As mentioned by @mehdi, internal linking is one of the ways to draw attention to what's important in your site. However, in your case, it appears Special Pages are more important ...
At first, you should check internal links. The distribution of links between the pages of your site must be done properly. For example, in any site, the most important page is the home page. The number of links made for the home page should be more than other pages of the site.
I think it is better for all 3 next important pages, Cat1, PageA and Blog page ...
A backlink profile with a small Referring domains to Backlinks ratio will hurt your site in most fields since it doesn't look natural. However, as far as I know in the site building industry, it shouldn't be a bad thing.
There are a number of possibilities here:
You have all those links as dofollow, that's pretty bad and should be changed to nofollow as ...
I agree with @keepkalm. The most reasonable explanation for an iframe to outrank (or rank at all to be fair) is that they have significantly more links to this page than the page you are competing with.