When making j, x, and q consonant sounds, where in the mouth does the sound get created? This page clearly shows the difference in tongue position for forming these consonants.

However, I find that what I'm doing is placing the tip of my tongue against my lower teeth as directed, but the middle of my tongue is still touching the roof of my mouth, and the air passing between it and the roof of my mouth is being used to form the q, j, and x sounds the same way I would make the ch, j, and sh sounds in English with the tip of my tongue against the roof of my mouth.

Is that right, or should I somehow be making the sound somewhere else, like against my teeth, without using the gap between tongue and roof of mouth at all?
I think you're doing it right. The alveo-palatal part of sound (which j/x/q have in common) should be created by the gap between the middle of your tongue and the roof of your mouth, and that's exactly what 'alveo-palatal' means. The difference among j/x/q though, aspiration and frication, are controlled by other part of the mouth, but I don't think that's the core of your question.

There is one thing to note though, that you described the tip of your tongue as against your teeth. Your link says 'the tip of the tongue rests behind the lower front teeth' which I think is a very accurate description of the right way. It might be just different phrasing but if your tongue is tightly sticking to your lower front teeth or even exerting, then you're doing it wrong and the result may sound like lisping due to too little/too much air flowing from the sides of your tongue.