I also working on something similar. More of a hack n slash but from the same perspective of a beat em up.
The way that I have handled this is composite objects.
Moving characters, like the player and enemies, are made of two objects: their shadow, and their sprite.
The shadow is what the player/AI is controlling. Up, down, left and right.
The shadow is the characters solid collision object, and the sprite is the non solid hit box object.
The sprites position is updated at the end of every frame to match the change in movement of the shadow. (Pinning doesnt work, you'll see why)
When "jumping", I use a tween to move the Sprite object in a jumping manner. This works great because I use the shadows Y position as the "ZDepth", which tells the sprite where to "land", or "what is ground". (If using the pin behavior, then the sprites x and y cannot be changed)
I'm about to be implementing the pseudo platforming and was thinking that I can use raycasts.
The idea is that when the player is jumping, I can raycast down from the players feet. If that raycast intersects a "platform object" that matches the "z depth" of the shadow, then I can just move the shadow "on top" of the platform object, and then the Sprite will use that newly updated position as the "where to land".
It still needs some thought, because you will also need to handle falling off platforms and such, but that's where I'm at right now.
Hope this helps or inspires other ideas!