Go to settings->system->developer options, and enable usb debugging and rooted debugging.
Then do these adb commands to fix data on sprint.
adb root
adb shell
content insert --uri content://telephony/carriers --bind name:s:"SprInternet" --bind numeric:s:"312530" --bind type:s:"default,supl,mms,cbs,ia,dun" --bind protocol:s:"IPV4V6" --bind mcc:i:"312" --bind mnc:s:"530" --bind apn:s:"x.ispsn"
content query --uri content://telephony/carriers --where "name='SprInternet'"
note: make note of the _id# seen in the output of the above command
note: now, replace 3447 in the following command with your _id# from previous command
content insert --uri content://telephony/carriers/preferapn --bind apn_id:i:"3447"
Ok, I've found a link to this post on Reddit and it is dated to the middle of 2021. I've faced with the same problem on Beeline Georgia carrier and managed to fix it thanks to your post. But if you don't mind I have a couple of question to understand what is happing because it seems that you are one of a few people who understands what happens.