Are we talking all-core clocks assuming no thermal limit? Because the 2700X definitely does not run at the same turbo as the 8700K. The 8700K sustains 4.3GHz across 5-6 cores, where as the 2700X is 4.3GHz on 1-2 cores. The 5-8 core PB2 range of the 2700X according to AMD is 4.0-4.075GHz.
The sort of flip-flop of the performance crown (with the 8700K coming out ahead by a minimal amount as you stated) has a lot to do with Intel’s architecture, yes. It is absolutely more capable with per-core instruction throughput per clock. Intel also does some things differently, like AVX for example, which put them ahead in some software that supports the newer versions.
This is marketing. In the context of Zen+, 12nm is just 14nm with a new name to differentiate that minor tweaks were made to the process. The individual core architecture was not changed between Zen and Zen+, just some elements were shrunk in place to reduce power usage and assist in pushing higher clock rates with more stability.
Skylake at the core level is a serviceable enough µarch. Combined with refinements to the process and throwing efficiency out the window to scale core counts and clock rates (Coffee-Lake’s 6 cores use roughly 28W more than Zen+'s 8 cores) it is definitely capable of edging out the 2700X in the average. There are still quite a few applications where the 8700K just doesn’t even compete, such as multi-core rendering (hence Blender and Cinebench being AMD’s go-to stage presentations) and AES encoding. Most of the time though, faster cores with better IPC are more than enough to retain the crown.