Unfortunately, as far as I can tell, this appears to be a limitation from Google, because the exact same problem happens with Integromat and Zapier.
However, I don’t see this limitation documented anywhere on the Airtable site. It would be great if Airtable documented this problem.
Integromat has fully documented this issue on their site, stating the following:
Google Sheets retrieves only new rows that have not been filled in before. The trigger will not process an overwritten row the Google Sheets. The “New Row” action will only trigger when information is typed into a row that has never had any information in them before. If the worksheet contains a blank row, no rows after the blank row will be processed!
That’s a really strange & lengthy way of them saying: “Only new rows at the bottom of the sheet.”
In other words, it seems like you can’t even leave a bunch of blank rows and go back to fill in those rows later, either.
One thing that might be interesting to experiment with is that Integromat has a Google Sheets extension that you can install into Google Sheets, that can watch ALL the cells on your ENTIRE Google Sheets spreadsheet for any changes. So perhaps you could automate something for your needs with that extension.