Yes, it is because the error flag is being set, which triggers a reset of the board.
Did you do the below?
Made some code you can test here: PN5180 ESP32 Bluetooth keyboard wedge
Not sure what you mean. NDEF are records stored on the chip. I think you need to explain a bit more detailed what you want to achieve.
This is a function of Android. It’s called host card emulation and on certain phones it’s random every time. On other phones where the operating system has been altered by the carrier or hardware manufacturer, the UID can be static… but if your phone is random then it’s just going to be random.
Adding to what Amal said, I’m pretty sure there was an app or 2 that you could emulate a card with ( Fixed UID ) , but I never used it myself so i’m not 100% on that.
You could consider putting an enrolled card in your phone case, but as it will also be HF, you will have to turn off your NFC on your phone, or it will continually read it.
This shouldn’t be an issue if you don’t use your phones NFC function for things like Google Pay, Samsung Pay etc otherwise, you could get an implant 
Following on from Pilgrimsmaster’s advice, instead of a card, you could use an nfc dot. They are the size of an AU10 cent piece, about 1.5cm diameter and can be put down the bottom of the phone so they are out of range of your phones nfc reader. I have one on my pixel which works well and causes no interference.
I must be missing something because I can’t manage to get any code to work, I got a few steps further, but still can’t read uid.
Anyone got a wiring schematic for it?
I’ll post what I do, I’m sure it’s something a bit off …
Hello, I hope this project can help you. nfc-iso15693-esp32-pn5180
Code for ISO15693 GitHub - cicerosnt/esp32-pn5180: Leitura tag NFC com EXP32 e PN5180