How To Pass Current Post Type ID from Single Template To Custom Page Template

First of all, (you probably know this but..) you are fighting how WP is intended to work. You can not get the post ID directly in your custom page template because it is not displaying the post. So you will have to, as you said, send the post ID to the page template.

The best way I can think of, to do it this way, is to send it to the new page via GET or POST. The most simple way would be to add a query string to whatever link goes to the sub-page containing the ID, which might look like this ?post_id=123. Then, you can parse the URL query string to get the ID and use it as needed.

Alternatively, you could make your CPT (Custom Post Type) structure hierarchical and set your permalink structure to example.com/%postname%/, then you can just add the pages as sub pages of your posts. More details here.