That is not how the insertion should work in a BST,
the new value should be compared to the current node not to its children, if it is less than the value of the current node traverse left if there is a left node compare the value to it, and if no left node exists insert the value there. The same goes for the right side but if the comparison result was greater than the current node (there is no repeated values in a BST).
Your question is on how to create a binary tree not a BST,
if you want a simple Binary tree that constructs a complete binary tree then just insert the nodes layer by layer from left to right. Certainly BFS works layer by layer but it is a search algorithm and you don't need to search through the tree since you are constructing it from scratch.
Edit:
if you want a simpler version of binary tree construction, just insert 2 nodes all the way down in one branch without backtracking, still a binary tree even if you insert 1 node too.
Enother Edit:
Every BST is a binary tree and every binary tree is a tree
and this argument cannot be inverted (e.g. not every BT is a BST ...etc). So if you have a BT it is already a tree.
Regards,