This seems to have been a problem for a few years, with various phones. Reading and writing NFC tags above 70% battery is no problem, but below it doesn't work. If the phone is plugged in and charging (my cable has never fitted properly since new, I always charge wirelessly) then NFC works.
Other people have tried soft and hard resets, reboots, cleared cache etc, all to no avail.
Credit card payments always work though with Google Pay which uses NFC, so this makes no sense to me.