1. On the suggestion that I don't use custom code (obviously that is the better scenario) - When a user creates their account using the toolset user form - how do they then create a new member custom profile post?
My apologies if I was not clear on this point.
This is explained in my #2 above:
Make sure to redirect the (User) Form to a Page.
In that page, you want to insert the Form that creates Posts.
This is how you can make the users create a new member custom profile post.
You're right that they need to be logged in for this to work smoothly (they could be logged out, but it would make the auto-population and especially the authorship more tricky).
What you can do here (my apologies for not thinking on that earlier) a code snippet to automatically log in the user or well, make him/her login after the user is created (although this might interrupt the nice workflow.
A code snippet of this kind can be found here https://toolset.com/forums/topic/automatic-login-upon-cred-user-form-submission/#post-902725
Related to the old way in content Templates, where you could use ShortCodes to even populate a class attribute of HTML... to be honest, these are things that WordPress does not like and never liked. Toolset makes it possible thru a quite advanced "do_shortcode" replacement (wpv_do_shortcode) which mainly is allowing the recursive (and safe) usage of ShortCodes, so you can nest them and even use as HTML attributes or HTML in the ShortCode attributes.
Strictly speaking however it is not suggested to use ShortCodes like that, and I would (if possible) try to avoid it as much as possible.
I know that it is a powerful "feature", but those things will now all come (where there are none already) into Blocks.
You can already set a lot of dynamic sources in the different blocks, like using a dynamic link or button text, just as a small example, up to very complex (and dynamic) settings for Image Blocks or Grid Blocks etc.
It's right however as well that Blocks, Gutenberg itself is not intended towards "advanced HTML editing", but the exact opposed of that, "simple visual editing", is the Goal.
Honestly, I have a hard time using it as well, it's nice, but as you say not as in-depth as "raw" stuff. However one might argue the same looking at the difference of PHP to (old) Views. You could say, it's just less powerful than real PHP. On the other hand, you gain lots of time Using Views, instead of coding a query.
Similarly, I use Blocks now. I use to create CT's (Content Templates) and use them like "custom-designed lego bricks" allover my templates.
This allows me to design single aspects with a visual builder and produce nice HTML and CSS in no time.
Then (and this is unconventional) I put this together in Toolset Layouts using Content Template Cells - but you do not need Layouts to achieve the same result.
You can simply insert several different Templates as Blocks directly in another Template applied to your posts.
With time you have a library of Content Templates that you can even re-use, as said: like lego bricks
Before, those bricks where shortcodes, now it can be entire visual templates.
It takes a bit of time to get used to the new idea, but I think (with a few missing features) it is really great to design things.
Please let me know if I can help any further!