I have been able to find the documentation that I was looking for. CDC is supported off of the readable secondary but Change Tracking is not unfortunately.
The link is specified below but here are the relevant parts for my needs.
Redirecting the Query Load to a Readable Secondary
While in many cases a client application will always want to connect to the current primary replica that is not the only way to leverage AlwaysOn availability groups. If an availability group is configured to support readable secondary replicas, change data can also be gathered from secondary nodes.
When an availability group is configured, the ALLOW_CONNECTIONS attribute associated with the SECONDARY_ROLE is used to specify the type of secondary access supported. If configured as ALL, all connections to the secondary will be allowed, but only those requiring read only access will succeed. If configured as READ_ONLY, it is necessary to specify read only intent when making the connection to the secondary database in order for the connection to succeed.
Change Tracking Note
Change tracking data must always be obtained from the primary replica. An attempt to access change data from a secondary replica will result in the following error:
Msg 22117, Level 16, State 1, Line1
For databases that are members of a secondary replica, change tracking is not supported. Run change tracking queries on the databases in the primary replica.
Replication, Change Tracking, Change Data Capture, and AlwaysOn Availability Groups (SQL Server)
If the queries that are accessing the table that need to work while you're making this change are read-only, you could create a view that has the original column and uses the function in place of the computed column, then in a transaction rename the table and create a synonym with the original name that points at the view, then make your changes, start another transaction where you drop the synonym and rename the table, then finally drop the view. If the table needs to be read-write in this time, this may not be sufficient.
This isn't strictly doing what you asked (changing main without affecting computed), but I still think it has the desired effect - minimal impact on users.
Best Answer
You can also look at
sys.columns.is_nullable
...