Pointing me toward the hoverboard example helped quite a bit! However, in order to use screenToWorld() I had to compensate for the skeleton being centered on the canvas at run time, I was able to reverse engineer this solution:
var skeletalBounds = skeletons[activeSkeleton].bounds;
var adjustedX = mouseX - (3*skeletalBounds.offset.x + 2*skeletalBounds.size.x)/8;
var adjustedY = mouseY - (skeletalBounds.offset.y + skeletalBounds.size.y)/2;
var actualLocation = SceneRenderer.camera.screenToWorld(coords.set(adjustedX, adjustedY, 0), w, h);
var hitBoundingBoxAttachment = bounds.containsPoint(actualLocation.x, actualLocation.y);
(It's worth noting that the canvas centers the skeleton based on its bounds, not on where the root bone is located relative to its bounds. To center the skeleton by its bounds above 0,0 point, it was as simple as selecting all the images in Spine, and using Translate to place them there with the World Axes and Images Compensate on - luckily this part was easy enough to figure out!)
However, my solution does not compensate for the canvas arbitrarily scaling things down if it can't fit within the canvas. It tries its very hardest to make a nice aspect ratio! Is there a function to assist with compensating for this? Everything is being centered and resized in the resize() function. (I'm still working off code provided with this demo: https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-ts/webgl/example/index.html and it's using said resize() function - so it's what I've used, too!)
So long as I don't make my canvas smaller and have this scaling issue, I should be fine. I will need to make my canvas smaller, but I usually won't need the mouse/touch functionality on the smaller canvas. However, I may one day be working with mobile devices, and I'd be facing the scaling problem all over again. I'd like to tackle it now, if you'd be willing to help me make this one last leap. :$
Secondly, and this one should be easy, how can I get the name of which bounding box attachment I've found with bounds.containsPoint()? I want to play a different animation based on which one I've touched, afterall.
Thanks so much for your patience and help!