Hmm, odd indeed.
There’s a couple more things you could try.
Perhaps there’s a package still using json_attributes. I was using the package battery_alert.yaml which had a few json_attributes references. FYI this package isn’t needed anymore because recent versions of zigbee2mqtt add a battery component for each sensor.
I was having issues with mqtt-fx and mqtt-spy, so i installed mqtt snooper on my android phone. I subscribed to homeassistant/# which showed all messages. Cool thing about this app is you can use filters, so I filtered on “json_attributes” (including quotes so it doesn’t include json_attributes_topic).
I don’t know if a) you use the integrated HA mqtt and b) the integrated HA mqtt stores mqtt messages into homeassistant.db, but if you don’t care about your sensors’ history, you could stop HA, remove (or rename) homeassistant.db and start HA. The database will be regenerated and you’ll only have lost your history.
Hope this helps. Good luck!