One last question: is there a best practice/rule of thumb/advice for the number of tags a KNOT can handle/support?
We use the KNOTs for LoRaWAN, so I don't know the limits of BLE tags... But I'd imagine the "limit" be more be how congested the 2.4Ghz environment is at the location (e.g. noise).
Now device and RouterOS scripting does have limits too, especially strings (4096 bytes). And, the example script uses a string to store a list of devices, so it be subject to that limit... Why I mention using arrays, since that type (unlike string) is limited by memory. But imagine you'd be fine for dozens of BLE tags using the Mikrotik's example (beyond that I bet you'd hit some limit and require different logic).
Essentially any script for BLE has to periodically poll (e.g.via /system/scheduler)
/iot bluetooth scanners advertisements print detail as-value where ...
So how "smart" your code is at using the "where" and managing state to know if/what to notify via HTTP (/tool/fetch) is likely where you could run into limits on the OS side.
If your new-ish to RouterOS scripting, I'd recommend taking a look at their older "tips and tricks":
https://wiki.mikrotik.com/wiki/Manual:S ... and_Tricks