Thanks Jon. I was aware of those two solutions but I should have included them as links in my post to make it obvious. My apologies for laziness!
In my eyes, delete_sub_field
is not a valid sub-field version of delete_field
due to it setting the value to null rather than deleting the data, which over time will create a lot of empty and unnecessary custom field data.
I have coded my own workaround for now but I was surprised to find this wasn’t a core function in this otherwise super-thorough mega plugin. 😀