browseTags example in these user manual sections have a bug, where supplying a filter will 9 times out of 10 not get you the results you were expecting. If you supply a filter that excludes returning udt instances or folders (e.g. specifying a name filter, tag type, data type filter etc.), then the function will not recurse. The function is missing another call to the system.tag.browse function which doesn’t have a filter which looks for tags with children.
E.g. System.tag.browse OR in filter
Looks like this has been fixed now