Hold on here. Using the API, there is no “find” anywhere (at least since 2009)… See Using "where" and "find" in MikroTik API
With API… I think the idea is each interface monitor using a different =tag=, and the stream of tags is processed into your own data struct from the !re based on tags provided back from router.
Why SNMP seems like a better way if at all possible…
The OID does not change unless the the interface is removed and re-added. So for ether1…X, they won’t change. At least on the same router… Between routers, however, it would be possible the OID for ether1 is not same as another, or especially SFP ports – since the OID depends on the order added. But once added, the OID is stable for a router.