Hierarchy of Subcategories on Permalink (bug?)

When a post belongs to more than one category, regardless of their parent/child structure, WordPress will use the category with the lowest ID in the permalink. If that lower ID belongs to a child category, you’ll see the parent/child structure in the permalink.

If you always want parent/child category appearing in the permalink, a simple solution would be to only assign the child category to the post.