What's the justification for rating calculation rules for unrated players being different between round-robin and Swiss tournaments.
There is no justification for this today. In the dim and distant past (like about 15 years ago, maybe more) FIDE rated tournaments not individual games. In this setting they needed different algorithms for Swiss and for round robin tournaments. Nowadays this makes no sense since they don't do their rating calculations like that.
FIDE are sometimes slow in updating their documentation (something we software engineers can understand ;-) but they have released a new rating document - FIDE Rating Regulations effective from 1 January 2022 which has removed mention of Swiss and round robin tournaments. If you search for these terms on the page you get zero hits. This more closely reflects FIDE's current approach of rating games not tournaments.
That section now looks like this:
8.2 Determining the initial rating 'Ru' of a player.
8.2.1 If an unrated player scores zero in their first event this score is disregarded. Otherwise, their rating is calculated using all their results as in 7.1.4.
8.2.2 Ra is the average rating of the player's rated opponents.
8.2.3 If the player scores 50%, then Ru = Ra.
If they score more than 50%, then Ru = Ra + 20 for each half point scored over 50%.
If they score less than 50%, then Ru = Ra + dp
Ru is rounded to the nearest whole number.
8.2.4 If an unrated player receives a published rating before a particular tournament in which they have played is rated, then they are rated as a rated player with their current rating, but in the rating of their opponents they are counted as an unrated player.
Note also the use of more inclusive language by FIDE. This is a very recent trend.