Thank you for your response. After conducting some research, I discovered that this behavior is indeed a deliberate design choice by the WordPress Core Team.
The comment from the WordPress Team, found in wp-includes/post.php
between lines 5096 and 5099, clarifies this:
/*
* Page slugs must be unique within their own trees. Pages are in a separate
* namespace than posts so page slugs are allowed to overlap post slugs.
*/
Additionally, the SQL query at line 5100 is designed to exclude conflicts in different post type names.
Personally, I appreciate if WordPress includes the name conflict checking for different post types. However, I am curious about their decision for implementing it in this particular manner. Do you think it would be beneficial to bring this matter to the attention of the core team?