Static frontend not rendering previews in admin

I have my site published as static html at www.example.com.
My ghost portal is at ghost.example.com/ghost.

When I create a post and click preview it brings up my public site which obviously doesn’t work because it’s not published yet.
I’ve tried setting admin__url and url.

Setting the url value to ghost.example.com fixes the preview, but all of the urls in the api responses go to ghost.example.com so it breaks anything that uses those url’s, so that’s not a real option.

Setting the admin__url value to ghost.example.com doesn’t seem to make any difference.

I don’t host with netlify and would really like to avoid setting up redirect rules in the Azure CDN, which is where I host it at on a storage account/static site fronted by a CDN. I also don’t want to move away from Azure.

Copying and pasting the URL that Ghost generates pointing to my static site and changing the domain to ghost.example.com results in a “Cannot get /p/…” message. My guess is that it has something to do with host headers and not matching the url value in the settings. Because of this I suspect that a simple redirect rule in Azure wouldn’t solve my problems.

The only issue I’ve found that remotely looks promising is this one, but it is talking about netlify and custom changes to the ghost theme or ghost itself (not entirely sure),

I do use a custom-built generator so I could change the URL’s in every page that is downloaded, however, I’d really rather not have to do that, it seems like a hack to me and I would think that doing this natively would be possible, especially with how many people use Ghost in a headless mode.