Well, yEd 3.16 introduced a new option for Hierarchical Layout that deduces the edge direction from the edge style's arrow decorations (see "Layout" -> "Hierarchical", tab "Edges", option "Arrows define Edge Direction") which is enabled by default. With this option enabled, some edges (e.g. those without any arrows) may be considered undirected edges. Undirected edges may lead to layering results similar to BFS layering. If you turn "Arrows define Edge Direction" off, the layering algorithm should produce the same results as in yEd 3.14.4.
Regarding the second question, yes, the algorithm for calculating layers is a polynomial-time algorithm. However, I cannot give you a formal mathematical description of the algorithm. The best I can offer is the corresponding chapter in the yFiles for Java Developer's Guide and API documentation.