Is building this tournament fixture an NP-Hard / NP-Complete problem?
At first glance, even a simple solution would appear to merely be ${\cal O}(n^2)$, which is obviously polynomial time. To make the rest of my answer more readable, I'm going to define the following variables:

numEntrants = the total number of entrants
largestNumEntrants = the number of entrants from the country with the most entrants
numRounds = numEntrants - largestNumEntrants

For the purposes of the rest of my answer, I will assume that numEntrants is even. If it is not even, then some odd number of entrants must have a bye each round and that greatly complicates matters when trying to make sure every entrant plays the exact same number of matches.

As you correctly observed in your question statement, the largest possible number of rounds is the total number of entrants minus the number of entrants from the country with the most. We can quickly observe that numRounds is in ${\cal O}$(numEntrants). Furthermore, the number of possible matches within a round is also in $\cal O$(numEntrants). Specifically, it is exactly numEntrants / 2.

My suggested solution would then be as follows:

Arrange the entrants in an ordered list (which I'll call entrantList) in such an order that all of the entrants from a particular country are adjacent to each other.

for (int round = 0; round &lt; numRounds; round++)
{
    for (int i = 0; i &lt; (numEntrants / 2); i++)
    {
         Match entrantList[i] with 
             entrantList[(i + largestNumEntrants + round) % numEntrants] for round.
    }
}

This algorithm clearly runs in $\cal O$(numEntrants$^2$) time and, as far as I understand them, satisfies all of your constraints, at least when numEntrants is even. Obviously, ${\cal O}(n^2)$ means that the problem is in P and is definitely not NP-Hard or NP-Complete.

This algorithm ensures that each entrant plays each other entrant a maximum of 1 time because it simply selects the entrant after the one it was previously matched with on each iteration. It ensures that no entrant from the same country plays another entrant from the same country because all entrants from the same country are adjacent to each other in the list and it starts with an offset of largestNumEntrants.