[Bug Report] system.tag.browse() does not return recursive results in some cases

In some cases the system.tag.browse() function will not return recursive results even when the "recursive" filter key is set True. Observed on ignition v8.1.44

New in 8.1.2
recursive - Allows the browse to find all Tags inside the starting folder or UDT instance, even if they are inside nested folders or UDT instances themselves. Accepted values are True and False. False is the default, meaning that the browse will only return tags directly inside the starting folder or UDT instance.

I believe the intended/expected behavior should be that when the "recursive" filter key is set True that results should include child nodes of any node where "hasChildren" is assessed as True.

First sytem.tag.browse() returns info on all the configured tag providers, I'd expect system.tag.browse(filter={"recursive":True}) to return info on all the configured tag providers and their children (all the tags), it does not. As the nodes are "Providers" and not "Folders" or "UDT instances" perhaps that might be intentional, or at least comply with specification, but I'd suggest the recursive capability should work with all nodes that have children.

Next using sytem.tag.browse(path="[default]", filter={"recursive":True}) does provide recursive results (includes all tags under the 'default' tag provider) but attempting the same on the "System" tag provider does not provide recursive results, it only returns one level of results, the same as when the "recursive" filter is not applied.

Then, attempting to apply recursive browse to [System]Client does not return recursive results. But, attempting to apply recursive browse to [System]Gateway does return recursive results.

Test Script:

filter = {"recursive": True}

path = ""
print "\nAttempting recursive browse of path", path
print "This one does NOT return recursive results."
results = system.tag.browse(path, filter).getResults()
print "Result count:", len(results)

path = "[default]"
print "\nAttempting recursive browse of path", path
print "This one does return recursive results."
results = system.tag.browse(path, filter).getResults()
print "Result count:", len(results)

path = "[System]"
print "\nAttempting recursive browse of path", path
print "This one does NOT return recursive results."
results = system.tag.browse(path, filter).getResults()
print "Result count:", len(results)

path = "[System]Client"
print "\nAttempting recursive browse of path", path
print "This one does NOT return recursive results."
results = system.tag.browse(path, filter).getResults()
print "Result count:", len(results)

path = "[System]Gateway"
print "\nAttempting recursive browse of path", path
print "This one does return recursive results."
results = system.tag.browse(path, filter).getResults()
print "Result count:", len(results)

Results:

Attempting recursive browse of path 
This one does NOT return recursive results.
Result count: 2

Attempting recursive browse of path [default]
This one does return recursive results.
Result count: 16377

Attempting recursive browse of path [System]
This one does NOT return recursive results.
Result count: 2

Attempting recursive browse of path [System]Client
This one does NOT return recursive results.
Result count: 3

Attempting recursive browse of path [System]Gateway
This one does return recursive results.
Result count: 290