I just spend 15 minutes researching why my custom page template wouldn’t appear in page attributes. Everything was set correctly.. except for one thing.
I hope you land here if you experience this issue, and I also hope that your child theme doesn’t contain an index.php file, because this is the fix.
Make sure your child theme contains an index.php file, else the get_post_templates() function will fail.
If you do have an index.php, well then I hope you have some Google-Fu left.