And the further down the line I’m getting a lot of errors that point to using that 3.20701.0 version. .platformio/packages/framework-arduinoespressif8266 3.20701.0/xxx/xx
This is 100% correct behavior. As documented, by using platform = espressif8266@2.5.2 you’re telling PIO to use the platform-espressif8266 platform of version 2.5.2. A platform’s used package versions, such as framework-arduinoespressif8266, is completely decoupled from the platform version itself.
As you can see at the release page, this e.g. currently means that platform version 3.2.0 uses the framework-arduinoespressif8266 package version 3.0.2. If you want to use the Arduino-Espressif8266 core version 2.5.2, you need to search for the latest possible platform-espressif8266 version that uses that core in the release pages. This leads you to 2.2.3. (2.2.0 is the first one that used core 2.5.2, 2.3.0 used core 2.6.1.)