For anyone else looking for the solution, this is what I ended up doing.
I verified the fulfillment endpoints that are deprecated on https://community.shopify.com/c/fulfillment-api-deprecation/frequently-asked-questions/td-p/1564746
I used https://shopify.dev/api/admin-rest/2022-07/resources/fulfillment#get-orders-order-id-fulfillments-fulfillment-id to get the fulfillment id. It returns an empty array until you grant the app the right fulfillment permissions.
I used https://shopify.dev/api/admin-rest/2022-07/resources/fulfillment#post-fulfillments to mark the orders as fulfilled and add tracking info. Works for both products that have a tracking ID and the ones that don’t.