MacOS Sierra 10.12.4, Bash 4.4.12(1)-release and en_US.UTF-8:
a='0123456789 ٠١٢٣٤٥٦٧٨٩ ۰۱۲۳۴۵۶۷۸۹ ߀߁߂߃߄߅߆߇߈߉ ०१२३४५६७८९'; b="${a//[0123456789]}"; echo "${#a} ${#b}"
outputs 54 44
which is what you would expect. I do see your issue on Ubuntu 17.10, 4.4.12(1)-release and en_US.UTF-8 where the output of my command is 54 34
. I spotted a report here for C.UTF-8 but I don't know if the underlying issue is relevant.