Okay, maybe someone can tell me if I'm on the right track.
I have edited the users.js (and renamed it) to add in the functionality of the new property, and point to it using users.get.head.ftl. The idea is for the new javascript to override the default users.js. I have also edited users.get.html.ftl to add in the fields necessary, and this works just fine, but the fields are not populated by the javascript. Just to make sure that there wasn't just a problem with the model, I had the javascript populate the field with a string "blah", but I don't see this happening in Share when I use the Admin console to edit a profile.
One thing occurs to me: in Mr. Potts' example (which I cited in the OP) he has a block in the share-config-custom.xml file which overrides the default user-factory like so:
<blockcode><config replace="true">
<flags>
<client-debug>false</client-debug>
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<config condition="WebFramework" evaluator="string-compare">
<web-framework>
<defaults>
<user-factory>webframework.factory.user.mymodel</user-factory>
</defaults>
</web-framework>
</config></blockcode>
Am I missing an override for this as well?