Hi Quickquestion welcome to WebmasterWorld
Definitely sounds like a duplicate content issue. Took a while, but appears that Google is/has chosen the stronger of the two domains.
i have checked numerous websites that have 2 ccTLD's, are near duplicates in the same language, also share the same IP adress, have properly implemented the hreflang tag but don't have this caching problem.
Just because others are doing it, isn't an indicator that it can work.
From you post, it seems you have:
• two almost identical sites
• on the same server at the same IP address
• in the same language
• targeting relatively close regions in the world
There's no absolute fix, but you can start experimentating by making changes by:
• using different meta page titles
• change meta descriptions
• change H1 & H2 tags
• change content (the wording)
• use unique images
Then submit the respective sitemaps to be reindexed & crawled. Then wait to see if anything resolves. This is likely to take significant time.
It may also help to have 2 distinct business names & addresses displayed with H1 tags on your Contact page, even if the addresses are the same street location but a different office number.
After you've made significant changes to your pages at both sites, it *may* speed up the process by eliminating the cache. One way to do this is to use this in htaccess:
Header set X-Robots-Tag "noarchive"