Would be good to do a print pf the values that are getting received on the entitlements for that SP to understand if the value is being retrieved as true
Ok on this case seems that your workspace was enabled by default with serverless function, on this case you wont be able to disable the feature, you can use budget policies for control https://docs.databricks.com/en/admin/usage/budget-policies.html
I have provided response in https://community.databricks.com/t5/get-started-discussions/migrating-service-principals-from-non-unity-to-unity-enabled/m-p/103017#M4679