You're right, there's no difference from a Data model perspective, but there is a difference from an Object Model perspective.
When you use Foreign Key Properties, then the Foreign key ID is included in the entity, but when you don't then the foreign key is silently used. The naming is part of the Entity Framework "Convention over Configuration" policy. EF sees a property named Basket_Id and doesn't see the property in the entity, so it knows to use this id without specifically configuring it.
By contrast, when Ef sees BasketId and sees the property in the entity, then it knows to map that field to the underlying BasketId column.
Basically, EF is distinguishing between the two types of foreign key navigation by using a naming convention. You can read more about this here:
Entity Framework Navigation Property generation rules
If you want to change this behavior, you could create a custom naming convention, remove the default one, and add your custom one that names things the way you want, however it very well could cause conflicts with the other type of navigation.
Honestly, I find it a bit ironic that you want to complain about consistency when you are being inconsistent in how you define your navigational properties. Stick with one or the other if consistency is so important to you.