Raising workers before you know where the 4 s go is the wrong order. Ivanvallejo's numbers are fine for a 4 GB box, but if checkout is sitting on an external call then 15 workers just sit and wait instead of 5, and you get the same errors a bit later.
So two things from you first. 1) Which PHP version, php -v over SSH or the Site Health info page. 2) Open the checkout page on staging with Query Monitor active and look at the HTTP API Calls panel, it lists every wp_remote_post with its time and the Mollie call will be in their, becuase Woo talks to Mollie when the order is placed and again for the payment methods on the page itself. If that one line is 2 or 3 s, your VPS isn't the problem.
One more thing. A p95 of 4.1 s at 50 users on staging sounds worse than it probably is, k6 fires requests with no think time unless you put sleep() in the script, so 50 virtual users hit harder than 50 people. Did you add sleeps?