How to find what index page a post is on?

There’s no way to do it directly but there’s a way to determine the position of a particular row in a mysql query. You can find out how to do it here- https://stackoverflow.com/questions/3614666/mysql-get-row-position-in-order-by

Once you have the position you can divide it with the value from get_option('posts_per_page') to determine the correct page number.