Model substitution
The 'NNETAR' model is an LSTM, and the code says so.
The original R study used nnetar — a feed-forward NNAR(11,6) averaging twenty networks. The Python port keeps the same 11-input, 6-node shape but swaps in a single recurrent network, because a modern equivalent was the point of the port. The function is still named run_nnetar_model and labelled NNETAR-like, which is a naming compromise worth knowing about: the write-up describes the R architecture, the code runs the LSTM.
Scripts/nnetar_model.py:20-46