If I followed this fully, what you are seeing is expected behavior when a style falls part way down a page. The only way to work around it is to cheat.
Add a frame at the top left corner of the page and set it to non-printing in the attributes panel, then add another instance of your Brazil heading. You might even want to add a local override to the style to make it red so it stands out on the page to remind you that it's a special feature you need to keep track of.
Last time I had do to something similar -- a dictionary --, I did a similar trick.
Dictionary entries themselves were in a unique character style, so I could use these for the headers. However, if an entry started not at the top line, the publisher requested for the *previous* entry to appear at the top.
No sweat. I copied each dictionary entry to the end of the last line of its full description, in that same character style. Then I set its width to 1%, size to 1 pt, and color to [None]. If that entry partly ran over to a new page, this was "the fist occurrence" of that character style and so it appeared in the header. If the entry ended at the bottom of the page, the next one appeared at the top of the next page; and in that case the *visible* entry was picked up for the header.
Disadvantages: boy is that a slow document. And I have to take care to also change the invisible entry if there is a change in the visible part.
Advantage: no matter how the text reflows, the headers will always be correct.
Probable Disadvantage for the OP (but not for me!): you need to write a custom script for such a thing, lest you go mad with manually copying/pasting/applying overrides.