How Does `rampUsersPerSec(1) to 400 during(5 minutes)` Translate Into 18,802 Users at 5 Minutes?

I’m just starting to understand how Gatling works. I understand now that rampUsersPerSec(…) is setting the arrival rate. Am I then to assume that Gatling determines that in order to generate an arrival rate of 400 users/second, that Gatling requires 18,802 simultaneous users to accomplish this based on my test script?

No, you’re wrong. The number of users is a consequence of the arrival rate and the journey duration. Not the opposite.

So the other way around is Gatling is sending requests at the requested rate and based on the roundtrip time, more or less users are created to maintain the arrival rate. Is this correct?

Nope.

It will plainly start new users.
If you ask Gatling to create 400 users per second, it will create 400 create 400 users per second.
No adaptation based on response time is made.

Everything is decided upfront and Gatling schedules how many users are created each second before even your first request is fired.

That was my original assumption. But how does Gatling get to 38,000+ users in the results for Requests per Second?

The users are cumulative in the reports.

Your injection profile starts a total of 60 000 users.
If your requests do not complete fast enough, then your newly created users
will pile up with the users that have not yet completed your scenarios.

What algorithm comes up with 60,000 users for my ramp?