You are correct that your instructor is wrong (at least, their bound isn't tight), and I like the analysis you've done, but I think that you've come to the wrong conclusion in the final step.
It's great that you looked at all the intermediary values along the way. You're correct that the sequence of values that j takes is 2, 4, 16, 256, etc. If we rewrite things as powers of two, notice that the sequence takes on the values
21, 22, 24, 28, ...
More generally, after k iterations of the loop, the value of j is 22k (as opposed to 22k, as you initially wrote). This means that to determine the number of loop iterations, you want to determine when
22k = n.
Here, you have to take two logarithms to solve this:
22k = n
2k = lg n
k = lg lg n
So the number of iterations of the loop is O(log log n), lower than both the O(√n) that your teacher gave you and the O(log n) that you came up with.
For what it's worth, you often see O(log log n) behavior when you repeatedly take square roots of a number (you can take the square root of a number O(log log n) times before it drops to a constant), and so it's not super surprising that if you run this in reverse and keep squaring a value that you'd see O(log log n) show up.