You can remove the ml
role from your node,.
node.roles: [ master, data, ingest, transform ]
As mentioned in this other discussion, a ml process will still be present as I can also see from my docker instance
The Machine Learning section will still appear in the Analytics solution because there are features associated to that section still available.
But you can create a role with custom access to kibana applications like in this case where no access is granted to ML inside Analytics, and whole Observability or Security solutions.
Assign that role to any new user and they should only see the Analytics section.
Hope it helps.