Joe, thanks so much for posting your questions. Indeed, as before I don't have specific experience implementing smoothing particle filters in nimble, but if you're running into issues in the implementation, I could help diagnose them.
I saw both attachments, and was able to successfully execute both of them entirely. I didn't encounter any errors along the way. Furthermore, admitting an incomplete understanding of the method you're using, the results didn't appear to be obviously incorrect - but maybe I'm wrong about that. So given that, I wasn't exactly sure what your first question was.
As for your second question ("if we use a custom filter implemented via nimbleFunction, do we need to write the resampling method ourselves?"), yes, as you've done, if you are writing a custom implementation of a filter (as a nimbleFunction), then yes, you would need to implement the resampling method yourself, as you have done here. I'm not familiar with the reference you cited (Särkkä & Svensson, 2023) to comment on whether the implementation is correct, but perhaps doing some basic testing of the resampling method in R (using uncompiled execution) would be a reasonable place to start. If you're not certain how to do this basic testing of uncompiled execution, please let me know. But assuming so, I think a good first step would be to validate the implementation is operating as you intended.
I hope this helps you move in the right direction. Again, if you have specific questions about the implementation of the resampling method, or any other custom-written nimbleFunction, then I'll be happy to look at that and answer them.
Cheers,
Daniel