Does the undelete via Apex behave the same way as Recycle bin undelete?
From the documentation:
The undelete DML operation restores one or more existing sObject records, such as individual accounts or contacts, from your organization’s Recycle Bin. undelete is analogous to the UNDELETE statement in SQL.
It is undeleting it from the Recycle Bin, so yes, I would say it should behave the same way.