What about just applying a theme to the Axis, not a full programmatic access to it? For instance, I was hoping that in this recipe the newly created Axis would have a certain background color, etc, but it seems the theme information was not used in any way.
struct TestStruct
    data
end
ts = TestStruct([1,2,3])
@recipe(TestRecipe) do scene
    Theme(
    Axis = (
        backgroundcolor = :gray90,
        leftspinevisible = false,
        rightspinevisible = false,
        bottomspinevisible = false,
        topspinevisible = false,
        xgridcolor = :white,
        ygridcolor = :white,
    )
    )
end
function Makie.plot!(tr::TestRecipe{<:Tuple{TestStruct}})
    data = tr[1][].data
    scatter!(tr, data, data*2)
    tr
end
testrecipe(ts)