Hello @Roy,
welcome to this moderated Azure community forum.
The Device provisioning service is bound to one or more IoT Hub, registering (and moving around) devices to specific IoT Hub based on a registration flow.
The IoT Hub is a great cloud gateway with secure two way connection and a 'device twin' containing state for each device.
The IoT Hub communicates over MQTT (and other protocols are supported) but it is not a vanilla MQTT broker.
If you want to use plain MQTT complete with freedom to use your own topic structure, the EventGrid Namespace MQTT broker is a better choice.
At this moment, the EventGrid Namespace does not have a provisioning service. So you need to build something yourself.
At this moment, the Eventgrid namespace MQTT broker has a new public preview feature :
Webhook authentication allows external HTTP endpoints (webhooks or functions) to authenticate MQTT connections dynamically.
You can add custom (Azure Function) logic to the authentication flow.
Perhaps this could help you?
If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.