The defouler route works, but it is not a one-size fits all solution. The issue with this method is that you can't just pull the o2 out of stream completely, the ECU is still looking for a voltage difference as your exhaust flow changes and compares it to the up-stream sensor.
The error that you're getting is more than likely caused by the fact that at low engine speeds/exhaust flow, there isn't enough exhaust hitting the sensor, causing the voltage read-out to sit stagnant until you go more throttle, this makes the ECU think that there is something wrong with the sensor circuit since it isn't "reading" all the time.
The best way to see what is going on is just to plug in a cheap OBDII reader that has live-data read-outs where you can see all 4 O2 sensors. I was able to determine that my sensor voltage down stream was not changing until I was pretty heavy into the throttle.
The writeup for the defouler method has you stacking 2 defoulers to space out the o2 sensor. This was WAYYYY to far out of the exhaust stream for me. To answer the question, yes, I had to drill out defouler inside so that the O2 head could fit in. I also ground just a little bit of the threads to expose the sensor head more than it was since initially it still didnt' fix my issue.
My suggestion would be to leave the up-stream sensors alone, since those are used to adjust the actual fuel trim, by spacing them far out of the exhaust there is potential that you are having your ECU adjust the fuel input more and more rich to compensate for the low reading it is seeing. Take out the up stream defoulers and mess around with how much your pulling the rear O2 sensors from the exhaust flow. I promise it works. Mine has been off for quite some time now after I got it dialed in.