Yes, I agree I could have used the 'send component ID', that would work too. Probably just a matter of my own preferences that I chose not to. To expand a bit more on what I did, I send an ID for the button from 0x00 to 0xwhatever (however many buttons on the page) and similarly for the page, then use those 2 values in 2 switch statements to select which code runs in response to the button press.
I really don't like the idea of repeatedly querying the Nextion for status, takes up lots of time on the host and clogs the serial port. However, as with everything, if it works and you are happy with it, then that's good!