I often had the problem that I fell asleep after the alarm clock was over. The app I used before - namely “AMdroid” - solved this problem well.
In the app you can create a post-alarm. If this is activated, then after a specified time (for example, after five minutes) a notification is sent, which must be confirmed by the user within another five minutes (in the notification, there is a button that must be pressed). Then the notification closes, and the alarm is off.
If the specified time has elapsed without the notification being confirmed, the post-alarm will be triggered. The alarm can then be configured to start at full volume and without the snooze option.
Even after completion of the post-alarm, a notification is sent, which must be confirmed, otherwise the fun starts again. The only way to stop the alarm is to confirm the notification.
That should make the most extreme sleepers awake.