I think the problem here is that 'nonce' remains embedded in the HTML code of the cached page. Even though my "dynamic content is not cached" the nonce is stored within the cached HTML. When its validity period expires, the nonce is not refreshed. So, even if my dynamic content is set to 'no cache,' the requests still use the old nonce stored in the cache. So, I don't have an issue with dynamic content being cached, but the WordPress nonces are embedded in the cached HTML page. When a new nonce is generated, mycontent still sends requests using the old cached nonce instead of the valid one.