I have been riding a long, long time and have not really figured out how Amtrak distributes space as they sell it. But one thing I know for sure the algorithm is not a simple "fill up one car, then start on the next" one. It appears to distribute passengers between standard sleeper car lines as sales progress. It does appear to sell rooms in transdorm car lines last, though.
To my understanding, you've got it basically right. This is going from memory on a post somewhere around here that someone may find value in taking the time to dig up.
Roughly speaking, rooms are put in some order from "most desirable" to "least desirable". For simplicity, let's talk about "normal" bedrooms on a Superliner train that runs with 3 sleepers numbered 30, 31, 32. Let's assume that the order is Room E through A of desirability. Also for simplicity let's say that 5 rooms are allocated to each of the top three price buckets when they're initially loaded into inventory. There are fare codes associated with these, but let's just call them Buckets 3, 4, and 5 (1 and 2 being the lowest priced rooms that aren't used) mostly because I can't remember/find them.
With those assumptions, here's your inventory as it gets initially loaded into the system:
Bucket 3: 30E(car 30, room E), 31E, 32E, 30D, 31D
Bucket 4: 32D, 30C, 31C, 32C, 30B
Bucket 5: 31B, 32B, 30A, 31A, 32A
There's your order of sales. This was explained in the context of "why do sometimes agents say it costs more to pick a room when you call". Say you're the first person to call and book a room on this train, but you really want Room C because it's equidistant from the end of the car and the mid-car stairs. A less trained agent will go in there and pick 30C, but you can see that it's up in bucket 4, where as the system would assign the first available room down in bucket 3. A more-trained agent would see the inventory situation and be able to swap inventory around so that you get the room you want at the "correct" price. After that happens, the inventory would look something like this (assuming that the agent just swapped the rooms:
Bucket 3:
30C, 31E, 32E, 30D, 31D
Bucket 4: 32D,
30E, 31C, 32C, 30B
Bucket 5: 31B, 32B, 30A, 31A, 32A
There are other places where this order can get scrambled. Say the next person to call doesn't care what room they get (or they just book online and the system picks the next room), so mark 31E off of your list:
Bucket 3:
30C,
31E, 32E, 30D, 31D
Bucket 4: 32D, 30E, 31C, 32C, 30B
Bucket 5: 31B, 32B, 30A, 31A, 32A
Now the next caller wants two bedrooms, and wants them to be adjoining, and they want it to be the B/C pair because they don't want to be next to the stairs. The agent can't just pull two rooms, because they're in different cars and the wrong rooms to boot. Again, the more trained agent will shuffle to get two rooms at the correct price:
Bucket 3:
30C,
31E,
31C, 31B, 31D
Bucket 4: 32D, 30E,
32E, 32C, 30B
Bucket 5:
30D, 32B, 30A, 31A, 32A
Obviously, this gets even more complicated in real life, as all the while revenue managers are reallocating inventory to pricing buckets to try and match supply and demand, and perhaps less-trained agents just selling out of order. Quickly no discernible pattern can emerge. Again, take this with the appropriate grain of salt - I do wish I remember who had posted this, because their explanation was probably a whole lot better than this.