This issue has been solved by using **2 instead of tf.square() when defining J_style_layer.
This has been proposed by Anomy (please find his entry here: Course 4, week 4 Neural Style Transfer: train_step "Unexpected cost for epoch 0"). Thanks Anomy!