I have a project, porting snap project for working with turbowarp https://turbowarp.org/
I have 2 suggestion
1 : coding a snap's blocks extention for scratch3/turbowarp
2 : coding a xml to sb3 converter for open snap project on turbowarp
Your second idea isn't possible; the whole reason we made Snap! is that there are things Scratch doesn't do.
I found that in this scratch 3 custom extension, it includes some blocks that are in snap. The (if <> then  else ) reporter is there, the url block is there (although it doesn't just say url), the ^ block is there, current millisecond is there. I think the extension is a great start to snap in scratch 3.0 (which I also want)
I guess, but none of those get you any closer to first class procedures, which is really the defining attribute of Snap!. Of course you could add that to Scratch; that's how Jens made BYOB. But it's not just adding blocks; it's adding a new data type, adding a visualization (the rings), etc etc. The extension would probably be almost as big as Scratch itself.
(Someone once said that the best thing about BYOB was zebra coloring... but that was when he was a beginner.)
Oh sure, it's doable -- Scratch is Turing-complete, so it can compute anything computable. Just, it's way way harder than adding a few blocks that don't change how Scratch handles data.
If anyone really wanted to try it, I would suggest first class lists as a less challenging project that still would involve digging into the data representation and the visualization. It's less challenging because it doesn't really require changing the evaluator, whereas first class procedures obviously changes how you approach procedures and evaluation.
I went back and checked, yeah, they're not the same. idk why they decided to do it like that, it's not very useful... but I guess you could convert the current second to milliseconds and add that to the current millisecond reporter...