None of the methods described in this article will permanently delete a mailbox put on hold. Instead, the mailbox will become "inactive", but still perfectly preserved and accessible for eDiscovery.
The only method that can actually delete mailboxes put on hold is when you specify the IgnoreLegalHold switch:
Remove-Mailbox -PermanentlyDelete -IgnoreLegalHold
If you want to prevent this, you can customize your RBAC roles to remove the IgnoreLegalHold parameter, or remove the Remove-Mailbox cmdlet altogether.