Yes, you should be able to do all this. The one point that I hesitate with, is that if you have many students all take a test at the same time, and the test uses Gateway (where all problems are rendered at the same time) then maybe you would have load issues. But probably you can do this without lots of students doing it simultaneously. And also, maybe it can be done will in homework mode, not with Gateway quizzes.
Actually a second point of hesitation. I've helped many schools with getting their LMS-WW connection working in the context of being the Runestone WW admin. It's never been a problem with Canvas, although once or twice we needed a Canvas administrator to assist because of how the school had configured Canvas. With Blackboard, I've never had success. Each time, it appeared that we needed the Blackboard admin to help, and they were not able to. Probably because of school policy about needing to put WeBWorK through a vetting process first that takes a lot of time. In principle though, with support of your IT/DL people, it works with Blackboard.
A and B are effectively the same. You put a few lines in a course's config file. You do a few things in the LMS (possibly needing an LMS administrator's approval). There will be a link in the LMS. A student clicks it. Their LMS ID will match their WW course ID, and the LMS authenticates them so WW lets them in. If there is no matching WW account yet, then this process creates their account.
Here is the reference page of the wiki for all this:
Each place that page mentions doing something in localOverrides.conf, I suggest doing it in the testing course's course.conf instead.