The 16MB can be used as 4MB directly without any issue.
Code will still be limited to 1MB, but the rest can be used for SPIFFS.
The link you provide is effectively a hack to get the above 12MB accessible by SPIFFS as data storage, it is working fine for the SPIFFS itself, but it requires another hack not written yet to make it compatible with OTA, otherwise, OTA becomes broken.
Here are some discussion about that :
https://github.com/platformio/platform- ... 6/issues/8https://github.com/esp8266/Arduino/pull/2351("time is the missing ingredient", but maybe I will try again when I get chance)