In general, I agree with you. A driver with real-time requirements should allocate all required resources initially. I'd consider anything else a design bug unless there is a very good reason to do otherwise. Nevertheless, if you have a driver that does allocate buffers dynamically, the observed behavior is easily explainable and you have the vm tuning parameters to adapt the environment to the behavior.
I've used the recording/watching successfully for 1.5 hours, which is what I usually need. I kept watching /proc/buddyinfo during this time and it always returned to "basic" values. So I'm very positive that thing would keep going for a longer time as well.
The thread that I have referenced is from 2014. I have doubts that anybody starts looking at the driver code after all this time to find another solution.