Yeah that should really work, when you look at the developer tools of the page where is the div being drawn? Is it behind the canvas?
Alternatively is this is some kind of weird source ordering thing, you can use flexbox's flex-order property to make divs display in a different order to how they're written:
For example, some CSS like the following:
Should do the trick; please note you'll have to wrap them in a parent div.
So the HTML will be roughly:
If this works, then the following is a shorter rule for the same effect in this exact situation: