With ArcPro 3.5, ESRI has cracked down on letting us define the projection on a feature class that has a projection. We have been importing an existing schema from an XML and then using Define Projection in a model to redefine the projection for the new project. In 3.5, this no longer works. We tried it in arcPy as well.
This seems like an unfortunate level of hand-holding. ESRI should trust users to know when it is appropriate to redefine a projection.
@AustinStreetman I am not in Version 3.5 yet, this doesn't seem like this is intentional. I would reach out to support about your issue. As long as the tool is in ArcGIS Pro you should still have the capability to change the projection.
I am not able to replicate this behavior in 3.5. Per the 3.5 documentation, it states: "when a dataset with a known coordinate system is input to this tool, the tool will issue a warning message but will run successfully."
I don't think Esri intentionally took away that functionality. I suspect it's just a bug. You'll probably have to reach out to support and see if they can reproduce the issue on their end.
If you compare the 3.5 to previous versions at
Define Projection (Data Management)—ArcGIS Pro | Documentation
you will notice that there are new restrictions. I can't tell from your code and the files whether this is what you are running up against. Have a look and compare to your previous version using the "Other versions" toggle
Comparing 3.5 to 3.4 in detail, I don't see any new restrictions, there's just more clarifications for why you can't run the tool on EGDB or Feature Dataset classes (as well as workarounds).
@AustinStreetman if you try to define projections for some troublesome data using just the tool interface (no arcpy) do you get a better error message?
Certainly run the test in Pro GUI or get and print print the actual error. This could be many different things from switching versions.