In your case they are not the same, because they are different ports.
OPTIONS , instead of
POST and then examine the headers of the server response. Among them, it looks for certain special headers that mean that the server "gives you permission" to continue. Only then does the request
POST in question.
In your case, your server has not sent the
Access-Control-Allow-Headers header, which is one that the browser waits for, so the browser aborts the request.
All this protocol and the headers involved are known under the name of CORS, in case you need to search for information to find out how those headers are included in the particular framework that your server uses.