Как использовать Data атрибуты и надо ли это?
Дата атрибуты, это вообще не в ту сторону. 
Чтобы передать параметры на сервер применяют Query string<a class="my_button" href="actions.php?action=create_user&number=1">Создать пользователя</a>
Или, если вы используете ajax$.ajax({
  url: 'actions.php',
  method: 'POST',
  data: {
    'action': 'create_user'
  })$_GET['action']
$_GET['number']
А data- атрибуты нужны на клиенте, чтобы удобно передавать какае-то данные внутри html элемента:<a class="my_button" data-action="create_user" data-number="1">Создать пользователя</a>console.log(
    document.querySelector('.my_button').dataset
){
    "action":"create_user",
    "number":"1"
}

так нельзя$.ajax({url: 'actions.php', method: 'POST', data: 
{
data-action: 'create_user',
});
а так можно{ 'data-action': 'create_user'}
В мануале написано "использовать дата-атрибуты" совсем не с той целью, с которой вы их используете.
Задумка там явно такая<button data-action="create-user">Create user</button>
<button data-action="delete-user">Delete user</button>$('button').click(function() {
   var el = $(this);
   $.ajax({url: 'actions.php', method: 'POST', data: 
      {
            'action': el.data('action'),
      });
});
теперь, при клике на кнопку create user на сервер придёт экшн create-user, а при клике на кнопку delete user, придёт экшн delete-user