Could be a sensor. Pcm memory could be bad. I see used ones on ebay for about 300 usd. Not sure about where you're located. You might have moisture in the pcm.
Check ebay for a used one. Do you know if you'll have to pay to have it programmed?
The b1446 have you checked for a broken wire or connector? Is it wet inside the light or connector? I'd check all my light connectors if you haven't. Maybe leave them unplugged to see if it's causing a weird...
It seems to be pcm/ecm problem from what I can gather.
Have you had the charging system checked? The pcm/ecm could be bad as well. Have you checked the floors for water?
Has your cars software been updated? Have you tried a custom tune?
This is from kbb
https://www.kbb.com/obd-ii/u0401/
What have you looked up about the u0401 code? Just asking so I don't give you information you've already read.
Have you reprogrammed the car to what it was factory? Like a factory reset?
https://www.aircraftspruce.com/catalog/pnpages/11-05561.php?gad_source=1&gclid=EAIaIQobChMImqTW2KrnhAMVjBitBh1H1Qh_EAQYAiABEgJ3yPD_BwE
You might could use something like that over each spark plug.