It really seems that your NodeMCU is fried. There's no difference for the code between a 'single" ESP8266 and the NodeMCU. In case the code really works on one board, it should work on the other, too. To be entirely sure, you may want to use the code sample for AP with WEB server shipped with arduino (or platformIO, whatever you use). The power supply on the NodeMCU is perfectly fine to serve the board for AP purposes. You can't do very much to change the behaviour, maybe except trying different variants of the lwIP. But if the other board works with your code and board settings, I would definitely test a new NodeMCU...
It really seems that your NodeMCU is fried. There's no difference for the code between a 'single" ESP8266 and the NodeMCU. In case the code really works on one board, it should work on the other, too. To be entirely sure, you may want to use the code sample for AP with WEB server shipped with arduino (or platformIO, whatever you use). The power supply on the NodeMCU is perfectly fine to serve the board for AP purposes. You can't do very much to change the behaviour, maybe except trying different variants of the lwIP. But if the other board works with your code and board settings, I would definitely test a new NodeMCU...