This is exactly what I ran into today. It works for everything except for the regClientScript() indeed. As if the scripts never get applied. I really need my script to be loaded the very last.
You can always put the JS in a chunk and put a chunk tag in the template wherever you want it, unless you need to make dynamic changed to the JS, and even then you can use placeholders in the chunk and $modx->setPlaceholder() in your code.