Why does SQLPackage include my table-valued function in deployments when it hasn't changed?
My suggestion is to review the ignore list in the publish options.
Things like case sensitive/insensitive or columns order in tables can generate this kind of thiing.
Verify with visual studio compare (if it is possible) with the same publishing options what is happening to highlight codes differences.
What happens if you deploy your dacpac a second time? The TVF alter should disappear.
And after 24 hours? If it returned that means that an application or a script have altered or dropped an recreated it with maybe a simple space or carriage return as a difference and then your deploy is going to find again that an alter is needed.
If you can use visual studio for compare, eventually try to compare with notepad++ getting the alter script from the instance and the alter script from the dacpac apply script generated with the sqlpackage.