The fish may have done itself and you a favor by spitting the lure. You got to see it and you got your lure back. As for what you could have done differently, given the equipment and terminal tackle I doubt that much was in your control unless a moment of slack line came into the mix. Small hooks associated with light tackle may catch on the bony structure of an Esoscid’s jaw and not hook into much, if any, flesh. In addition, light rods may not have enough backbone to set the hook in other than very soft tissue.
I had the same thing happen on the Schuylkill River back in the 1980’s above Hamburg when using a light action, 5.5 ft fiberglass spinning rod, 4 lb test mono, and a Beetle Spin spinner bait that probably had about a size 6 hook, if not an 8. The 30” TM hit relatively close to shore and as I reeled the fish into 2-3 ft deep, clear water, I could see the Beetle Spin “hooked” on the very tip of the jaw, and then the lure just pulled loose. I doubt it was ever really hooked; it was more like I was towing the fish to shore by its jaw. The whole incident took less than 10 sec. “Hooked”anywhere else other than there or the the trailing/most posterior edge of the jaw where there is some flesh and a small area where teeth can be avoided by line, it is likely that the fish would have cut the line on the first turn of its head.
To illustrate that, also in the 1980’s, I landed a 40 inch pure mky along the Delaware R near Kintnersville when fishing for other species with 8 lb test mono and a 1/4 oz jig on a 6.5’ medium action rod. That fish was hooked in the second spot that I mentioned above and despite the fish taking the lure 100 ft from shore, jumping clear of the water three times, and lots of head shakes, the only reason why I believe the line wasn’t cut was because of the hook location. When your equipment is out-gunned, fighting a fish involves some skill; hooking location is luck.