WordPress monthly archive category specific

There is no child_of argument for wp_get_archives(). How, or why, did you expect that to work? You are attempting to use arguments that don’t exist. That, I suppose, is the answer to the question. The function is ignoring child_of because the argument doesn’t exist.

There are a number of filters in wp_get_archives() such as getarchives_where and getarchives_join that you should be able to use to achieve what you want, but the SQL is going to be complex.

But before running down that rabbit hole, what is the relationship to “wordpress’s monthly archive widget”? Are you hacking Core? If so, the correct solution to this problem is most likely “create your own widget” and necessary code will be quite different.