"Page not found" when accessing a custom module
As stated, YAML has very specific spacing rules.

custom_form.register:
  path: '/custom_form/my_form'
  defaults:
    _form: '\Drupal\custom_form\Form\Formsettings'
    _title: 'Registration page'
  requirements:
    _permission: 'view user registration form'


Try that spacing, and Formsettings will need to be a form controller in custom_form/src/Form if it isn't already - you didn't link to it.

Both hook_permission() and hook_menu() are no longer used, so you'll want to remove them from the code base. (though I don't think they will stop it from loading properly.)